.NET骨架代碼:
using <namespace>
namespace <your optional namespace>
class <your class>
{
public static void Main(){
}
}
不能用using指定類,但可以為類使用別名:
using alias=class
C#命名規(guī)范:
方法名使用第一個(gè)字符大寫的Pascal規(guī)則;
變量名使用第一個(gè)字符小寫的camel規(guī)則。
公共類型系統(tǒng)CTS(Common Type System)是在.NET中定義的類型標(biāo)準(zhǔn),而且還支持用戶自定義新的類型來進(jìn)行類型的擴(kuò)展。任何以.NET為平臺的語言都必須建立該語言的數(shù)據(jù)類型到CTS類型之間的映射。所有.NET語言共享這一類型系統(tǒng),實(shí)現(xiàn)各種語言之間的無縫的互操作。
裝箱(boxing)與開箱(unboxing):
裝箱就是將數(shù)值類型轉(zhuǎn)換為引用類型,此過程不需要顯示轉(zhuǎn)換。
如int foo=42;object bar=foo;
開箱就是將引用類型轉(zhuǎn)換為數(shù)值類型,此過程必須顯示轉(zhuǎn)換。
如int foo2=(int)bar;
通過裝箱與開箱使得C#中的一切開起來都是對象,但同時(shí)又避免了當(dāng)所有一切都是真正的對象時(shí)對系統(tǒng)要求過高。
引用類型都是在堆上分配的。
⑴淺復(fù)制(淺克隆)
被復(fù)制對象的所有變量都含有與原來的對象相同的值,而所有的對其他對象的引用仍然指向原來的對象。換言之,淺復(fù)制僅僅復(fù)制所考慮的對象,而不復(fù)制它所引用的對象。另解:淺復(fù)制:兩個(gè)或多個(gè)相同類型的指針指向相同的內(nèi)存,也就是它們指向相同的數(shù)據(jù),如果改變其中之一,其它的也將改變。
⑵深復(fù)制(深克隆)
被復(fù)制對象的所有變量都含有與原來的對象相同的值,除去那些引用其他對象的變量。那些引用其他對象的變量將指向被復(fù)制過的新對象,而不再是原有的那些被引用的對象。換言之,深復(fù)制把要復(fù)制的對象所引用的對象都復(fù)制了一遍。另解:深復(fù)制:將一個(gè)指針?biāo)傅臄?shù)據(jù)復(fù)制給另外一個(gè)指針?biāo)傅膬?nèi)存,兩個(gè)指針有自己的數(shù)據(jù),如果改變一個(gè),另外的不受影響。