此篇文章介绍了C#的基本知识,C# 高编第二章。
2.1 变量
变量的声明:
int i;
- 声明变量后必须进行初始化否则无法使用;
- 同一条语句只可声明一种类型变量;
- 变量是类或结构中的字段,默认值为0;
- 方法的局部变量必须在代码中显示初始化;
类型的推断:
类型推断使用var关键字。使用var定义的变量编译器可以根据数据判断变量类型,所以变量必须初始化。
var number = 0; 等价于 int number = 0;
变量的作用域:
- 只要类在某个作用域内,其字段也在该作用域内;
- 局部变量存在于标识声明改变两的块语句或方法结束的封闭花括号之前的作用域内;
- 在for、while或类似的语句中声明的局部变量存在与循环体内;
- 同名的局部变量不能在同意作用于内声明两次;
- 声明为类型级的变量看作字段,而把在方法中声明的变量看作局部变量,局部变量会覆盖类型级的同名变量;
常量:
即其值在使用过程中不会发生变化的变量。只可以把局部变量和字段声明为常量,当为字段时可以使用类名访问,常量的特征如下:
- 常量必须在声明时初始化;(const int a = 100;)
- 不能用从一个变量中提取的值来初始化常量;
- 常量总是静态的,但不允许使用static修饰符;
2.2 预定义数据类型
C# 数据类型包括: 值类型(13) 及 引用类型(2)string object
值类型存储在: 堆栈, 引用类型存储在: 托管堆
vector x, y;
x = new vector();
x.value = 20;
y = x;
y.value = 50
此时 x.value 同样变为50。
数据类型:
浮点型
声明一个 浮点型变量,编译器默认为double型,声明float型可使用以下方法:
float f = 23.3f;
decimal类型
一般在做财务计算时使用该类型,性能不是很好,声明方式: decimal d = 23.322m;
bool类型
与整型值不可相互隐式转换。
char类型
char 字符可以使用4位16进制的unicode值(如'\u0041'),带有数据类型转换的整数值(如(char)65),转义序列:
引用类型:
object:
- 可以使用object 引用绑定任何子类的对象;
- object 类型执行许多一般用途的基本方法,如Equals(),ToString()等;
string:
- 保存在堆上而非堆栈上;
- 使用".........",可以包含Unicode、十六进制数转义序列 ,\\输出一个\;
- 可以在字符串字面量前加上字符"@",这个字符后的所有字符都看作是其原来的含义,不会解释为转义字符;
2.3 流程控制
1.条件语句
- if语句;
- switch语句,case的值必须是常量表达式,不允许使用变量,case后加break;
2.循环语句
- for循环,适合用于一个语句或语句块重复执行预定的次数;
- while循环,不知道重复执行一个语句或语句块的次数;
- do....while,最少执行一次循环体;
- foreach,循环迭代集合中的每一项;
3. 跳转语句
- GOTO 很少使用
- break语句终止循环,跳出switch等;
- continue,在循环语句中使用,终止当前迭代,执行下一次迭代;
2.4 枚举
枚举是用户定义的整型类型,起始值可以改变,Morning=1,更多信息可参考一下地址:
http://www.cnblogs.com/sunney/archive/2010/08/09/1796041.html
pulbic enum TimeOfDay
{
Morning = 0,
Afternoon = 1,
Evening = 2
}