<1>匿名類型提供了一種方便的方法,可用來將一組只讀屬性封裝到單個對象中,而無需首先顯式定義一個類型。 類型名由編譯器生成,並且不能在源代碼級使用。 每個屬性的類型由編譯器推斷。
示例:
public Curry { public string Age; public string Name; public string Sex; } //初始化對象 Curry curry = new Curry { Age = "18", Name = "Andeson", Sex = "femal" }; //or 用匿名類 var curry = new { Age = "18", Name = "Andeson", Sex = "femal" };
var Cur = new { m = 100, n = "sdsdfr" }; // Cur.m = 1000;//error ,不能賦值,因為它是只讀的。
匿名類型與其他引用類型沒什麼區別,唯一的區別就是匿名類型只能強制轉換為Object類型的
<3>如果兩個或更多個匿名類型在同一程序集中具有相同數量和屬性類型,在相同的順序中,則編譯器會將這些匿名類型視為同一的類型。 它們共享同一編譯器生成的類型信息