渐渐感觉,学一种知识,脚踏实地,一步一步是多么重要。
以前习惯一看几十页,以为学了很多,很有成就感,在要用的时候,会想起来看过,可具体怎么用,又得去搜索查找。
验证了那句:贪多嚼不烂。
所以,现在决定慢慢学,也温故而知新,多做一些记录。
C#中的变量:
C#编译器需要用某个初始值对变更进行初始化,之后才能在操作中引用该变量。大多数现代编译器把没有初始化的变量标记有警告,而C#编译器把此当错误看待。
C#有两个方法确保变量在作用前进行了初始化:
(1)变量是类或结构中的字段,如果没有显式初始化,创建这些变量时,其值就默认是0.
(2)方法的局部变量必须在代码中显式初始化,之后才能在语句中使用它们的值。
类型推断:
类型推断为var关键字(C#区分大小写),被声明的变量必须初始化。声明了变量,推断出变量类型后,变量的类型就不能再更改了。
int i=0;
可以写成:
var i=0;
变量的作用域:
public static void Main()
{
int j=20;
for(int i=0;i<10;i++)
{
int j=30;
Console.WriteLine(j+i);
}
return 0;
}
这段代码编译会出错。j在循环外定义,在整个Main方法内有效。而第二个j在作用域在循环范围内,C#无法区别这两个变量,所以不允许声明第二个变量,这是与C++不同的地方。C++中允许隐藏变量 。
值类型和引用类型:
值类型存储在堆栈中,而引用类型存储在托管堆上。
把基本类型(如int )规定为值类型,而把包含许多字段的较大类型规定为引用类型,C#的这种设计方式原因是可以得到最佳的性能。如果要把自己的类型定义为值类型,就应把它定义为一个结构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)