C#的不足(1):匿名類型的不足之處

匿名類型,只有在屬性完全一致的情況下(包括屬性名稱、類型、個數(shù)、順序的一致),編譯器才會生成一個匿名類型,否則生成多個匿名類型。

舉個簡單的例子,像下面這樣的代碼,C#編譯器生成1個匿名類型

var cid = new { Id = 1, Name = "C# in Depth, Third Edition", Price = 49.99 };

var clr = new { Id = 2,?Name = "CLR via C#, Fourth Edition", Price = 59.99 };

而像下面這樣的代碼,C#編譯器生成2個匿名類型

var cid = new { Id = 1, Name = "C# in Depth, Third?Edition", Price = 49.99 };

var clr = new { Name = "CLR via C#, Fourth Edition", Id = 2, Price = 59.99 };

我的想法:C#編譯器在編譯匿名類型時,不應(yīng)該把“屬性順序”作為因素。比如上述代碼,人腦認為是1個類型,可C#編譯器卻認為是2個類型,而生成的2個類型是一模一樣的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容