C#日写点滴(1)

来源:互联网 发布:西安企业法人查询软件 编辑:程序博客网 时间:2024/05/29 15:53

渐渐感觉,学一种知识,脚踏实地,一步一步是多么重要。

以前习惯一看几十页,以为学了很多,很有成就感,在要用的时候,会想起来看过,可具体怎么用,又得去搜索查找。

验证了那句:贪多嚼不烂。

所以,现在决定慢慢学,也温故而知新,多做一些记录。

 

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#的这种设计方式原因是可以得到最佳的性能。如果要把自己的类型定义为值类型,就应把它定义为一个结构。

   

原创粉丝点击