摘要:
out与ref用于值类型的方法参数时:out与ref基本上是一样的,是对变量的指针里面的内容进行操作。唯一的区别:out不要求变量初始化,而用ref关键字时,变量必须初始化;但是out参数返回时必须为对象赋值。out与ref用于引用类型的参数时:当out与ref用于引用对象时,方法“返回”的必须是已知对象的引用。ref不能用于一个没有明确指向的引用对象,比如object a;此时就不能用ref,即使要用也必须object a = null;而out参数作用于引用对象时,其所在的方法必须对引用对象初始化。因为out和ref作用域引用类型时,都是对引用类型的引用(指针)进行操作,所以它的引用类型的 阅读全文
摘要:
一、const 与 readonly 以及static readonly的区别。const:const是常量;readonly是实例只读变量;static readonly是静态只读变量区别可以从以下几个方面分析:1、内存分配const是常量,C#编译器编译源代码时,会将const常量直接编译成IL代码,因此,它不存在分配内存的问题。readonly 修饰只读实例字段时,只能在调用构造函数时才能对它进行初始化,而调用构造函数对它初始化,必然涉及到内存分配问题。readonly只能在对象除此创建时写入数值,除非用反射来修改readonly字段。当readonly前面加static关键字变成sta 阅读全文