Liny_@NotePad

沉迷ACG中

<C#高级编程>第2章笔记

YOYO posted @ 2010年3月04日 20:00 in 【C#】 with tags C#高级编程 , 1799 阅读

2 C# 基础


语法

 

注释:与C++Java一样,单行(//),多行(/*..*/)

命名空间namesapce,形如java中的package,只是逻辑上的,而非物理上的。可以在命名空间中定义命名空间。

引用命名空间using,形如java中的import

为命名空间起别名using 别名= 命名空间;

入口点Main方法(注意大写),返回值为voidint,一个应用程序中只能有一个Main方法。可以有string[] args的参数列表来接受要传递给Main方法的参数。

 

变量

 

初始化:属性有默认值,局部变量必须显式初始化。

作用域:同一变量不能在作用域里面被定义两次。属性和局部变量可以区分开来,因此可以重复定义。

命名:必须以字母或下划线开头,但可以包含数字字符,字符可以用unicode表示。采用PASCAL形式或Camel形式。

如果要将某个保留字用作标识符,可以在其前面加上@号。

 

常量

 

定义:通过const关键字定义,只能用来修饰局部变量和属性(字段)。

初始化:必须在声明时初始化,必须能在编译时用于计算(不能从一个变量中提取的值来初始化常量),总是静态的(但不强制要求static)。

 

预定义数据类型

 

名称

CTS 类型

说明

 

范围

sbyte

System.SByte

值类型

整型

8位有符号整数

short

System.Int16

值类型

整型

16位有符号整数

int

System.Int32

值类型

整型

32位有符号整数

long

System.Int64

值类型

整型

64位有符号整数

byte

System.Byte

值类型

整型

8位无符号整数

ushort

System.Uint16

值类型

整型

16位无符号整数

uint

System.Uint32

值类型

整型

32位无符号整数

ulong

System.Uint64

值类型

整型

64位无符号整数

float

System.Single

值类型

浮点型

32位单精度浮点数

double

System.Double

值类型

浮点型

64位双精度浮点数

decimal

System.Decimal

值类型

浮点数

128位高精度十进制数表示法

bool

System.Boolean

值类型

布尔型

truefalse

char

System.Char

值类型

字符型

16Unicode字符

object

System.Object

引用类型

 

 

string

System.String

引用类型

 

Unicode字符串

 

    object是所有CTS类型的根类型,其他类型都由其派生而来(包括值类型),形如java.lang.Object

 

    string@赋值方法:在字符串字面量前加上@,则字符串所有字符都不会被解释为转移字符。如:

    string  str = @"C:\ProCSharp\

    First.cs";

    实际上str的值就是:

    C:\ProCSharp\

    First.cs

 

语句

 

if 语句:判定条件如java一样,只能为布尔型。

 

switch 语句:参数可以为整数和字符串。

如果一个case子句不为空,则必须带有break来结束,要跳转可以用goto语句来表明要激活的case子句。

任何两个case值都必须是常量且值不能相同。

 

forwhiledo..while 语句:形如JavaC++中的语句。

foreach循环:通过 for (int temp in arrayOfInts) 来定义。

 

goto语句:不能跳转到for循环这样的代码块中;不能跳出类的范围;不能退出finally块。

 

breakcontinue语句:类似于Java中的breakcontinue

 

return语句:类似于Java中的return

 

枚举

 

通过enum来定义,形如Java中的enum。会在后台自动实例化为System.Enum

可以通过toString()方法转换为字符串,

也可以通过Enum.Parse(typeof(枚举类型), 字符串值, ignoreFlag)来转换字符串为枚举值。(ignoreFlag表示是否忽略大小写),

该方法将返回一个枚举类型的对象引用,之后可以通过(int)强制转换为整数。

 

数组

 

Java的类似。长度是Length属性。


 

通过csc编译C#程序

 

执行 csc 需要设置环境变量,方法有:

运行 csc 之前执行批处理文件 %Microsoft Visual Studio .NET%\Vc7\bin\vcvars32.bat

通过VS .NET的命令行窗口代替普通的命令提示窗口。

 

    可以通过/target参数来指定要创建的文件类型:

    选项

    输出

    扩展名

    /t:exe

    控制台应用程序(默认)

    .exe

    /t:library

    带有清单的类库

    .dll

    /t:module

    没有清单的组件

     

    /t:winexe

    Windows应用程序

    .exe

 

可以通过/out选项指定输出的文件名,默认使用输入的C#文件名及目标文件扩展名。

 

通过/reference选项(/r)来指定要引用的路径或文件名。

如:csc MathClient /r:MathLibrary.dll

 

通过/checked选项可以检查程序中所有为标记代码的溢出(当溢出时将抛出异常,而不会丢失数据)


预处理器指令

 

#define#undef 形如C++

 

#if#elif#else#endif 形如C++

 

#warning:产生警告,显示文本并继续进行

 

#error:产生错误,显示文本并退出编译,不会生成IL代码。

 

#region#endregion:用于把一段代码标记为有给定名称的一个块,在部分编译器(如VS)中有美观作用。

 

#line:用于改变编译器在警告和错误信息中显示的文件名和行号信息。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter