C#入门经典 学习笔记(三)

(1)数据栈储存的数据类型
     某些类型变量的值。
     程序执行的当前环境。
     传递给方法的参数。
(2)变量
    变量是程序执行时储存在内存中的数据。变量的种类有
    1.本地变量   在方法的作用域保存的临时数据
    2.字段          保存和类型或类型实例相关的数据
    3.参数          用于从一个方法到另一个方法传递数据的临时变量
    4.数组元素   数据项构成的有序集合的成员
(3)本地变量和字段的区别
    1.生存期
     字段是从实例被创建时开始,知道实例不再被访问时结束。
     本地变量是在它的块中被声明处开始,在块完成执行时结束。
    2.隐式初始化
     字段是能够初始化该类型的默认值。
     本地变量不能隐式初始化;如果变量在使用之前没有被赋值,编辑器会报错。
    3.存储区域
     类的所有字段都是存储在堆里,无论是引用类型还是值类型。
     本地变量是值类型存储在栈里;引用类型的引用储存在栈里,数据存储在堆里。

(4)使用var的条件

    1.只能用于本地变量,而不能用于字段
    2.只能在变量声明中包含初始化时使用
    3.一旦编译器推断出变量的类型时,var就是固定的,且不可修改 

(5)&和|运算符

当&和|作为条件布尔运算符时,其会计算运算符两边的值然后比较得出结果;
而&&和||会首先运算符左边的值,如果左边的值可以直接得出结果,就不会在计算运算符右边的值,这样相较&和|会提升效率。

此外,使用&&和||可以有效避免只有左边的值满足条件下,才能计算右边的值的情况。
例如:var1 = (var2!=0)&&(var3/var2);
如果采用&运算符,则系统会计算右边的值,这样的话,当var2时,就会产生“除0错误”,&&则可以避免这种情况的发生。

注:布尔赋值运算符&=和|=中的&和|为条件布尔运算符中的&和|,即无论左侧的值是什么,都会处理右边的操作数。

类定义中可以使用得访问修饰符得组合
无或internal                                只能在当前项目中访问类
public                                         可以在任何地方访问类
abstract 或 internal abstract      类只能在当前项目中访问,不能实例化,只能供继承之用
public abstract                           类可以在任何地方访问,不能实例化,只能供继承之用
seal 或 internal sealed                类只能在当前项目中访问,不能供派生之用,只能实例化
public sealed                              类可以在任何地方访问,不能供派生之用,只能实例化

猜你喜欢

转载自blog.csdn.net/engravesmile/article/details/73239966