.NET骨架代码:
using <namespace>
namespace <your optional namespace>
class <your class>
{
public static void Main(){
}
}
不能用using指定类,但可以为类使用别名:
using alias=class
C#命名规范:
方法名使用第一个字符大写的Pascal规则;
变量名使用第一个字符小写的camel规则。
公共类型系统CTS(Common Type System)是在.NET中定义的类型标准,而且还支持用户自定义新的类型来进行类型的扩展。任何以.NET为平台的语言都必须建立该语言的数据类型到CTS类型之间的映射。所有.NET语言共享这一类型系统,实现各种语言之间的无缝的互操作。
装箱(boxing)与开箱(unboxing):
装箱就是将数值类型转换为引用类型,此过程不需要显示转换。
如int foo=42;object bar=foo;
开箱就是将引用类型转换为数值类型,此过程必须显示转换。
如int foo2=(int)bar;
通过装箱与开箱使得C#中的一切开起来都是对象,但同时又避免了当所有一切都是真正的对象时对系统要求过高。
引用类型都是在堆上分配的。
⑴浅复制(浅克隆)
被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。另解:浅复制:两个或多个相同类型的指针指向相同的内存,也就是它们指向相同的数据,如果改变其中之一,其它的也将改变。
⑵深复制(深克隆)
被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。另解:深复制:将一个指针所指的数据复制给另外一个指针所指的内存,两个指针有自己的数据,如果改变一个,另外的不受影响。