.net中应该知道的细节
.net 中的有些细节上的东西,我想平时注意些,会提高我们代码的质量,庞大的系统是靠一行行代码组成的,让我们认真对待开发中的每一个知识细节。
equals()和运算符==的区别
“==”操作符比较的是两个变量的值是否相等,对于引用类型的变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals()表示的是两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
const 和readonly的区别
const 和readonly都是用来标识常量的。
初始化赋值不同,const修饰的常量必须在声明的同时赋值。readonly字段可以字初始化(声明或构造函数)的过程中赋值。
private、protected、public和internal的区别。
private是完全私有的,只有在类内部可以调用,在类的外部和子类都不能调用,子类也不能继承父类的private方法。
protected虽然可以被外界看到,但是外界却不能调用。
public 对任何类和成员都完全公开,无访问限制。
internal:同一应用程序集内部可以访问的类。
public和internal区别:public的成员可以跨程序集访问,但internal不能。
abstract class 与interface
abstract class
抽象类是一种特殊的类,具有以下特点。
抽象方法只用于声明,而包含实现。
抽象类不能被实例化。
interface
接口是引用类型,类似与抽象类但有不同于抽象类。
不能被实例化。
只能包含实现的方法声明。
一个类可以可以直接实现多个接口。
未完待续。。。。。