.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#中的一切開起來都是對象,但同時又避免了當所有一切都是真正的對象時對系統要求過高。
引用類型都是在堆上分配的。
⑴淺復制(淺克隆)
被復制對象的所有變量都含有與原來的對象相同的值,而所有的對其他對象的引用仍然指向原來的對象。換言之,淺復制僅僅復制所考慮的對象,而不復制它所引用的對象。另解:淺復制:兩個或多個相同類型的指針指向相同的內存,也就是它們指向相同的數據,如果改變其中之一,其它的也將改變。
⑵深復制(深克隆)
被復制對象的所有變量都含有與原來的對象相同的值,除去那些引用其他對象的變量。那些引用其他對象的變量將指向被復制過的新對象,而不再是原有的那些被引用的對象。換言之,深復制把要復制的對象所引用的對象都復制了一遍。另解:深復制:將一個指針所指的數據復制給另外一個指針所指的內存,兩個指針有自己的數據,如果改變一個,另外的不受影響。