我對Linq完全陌生,想知道您是否可以幫助我理解以下Linq之間的區別?例如...LINQ - .Select(n => n.Name)和.Select(n => new {n.Name})之間的區別;
//normal select
var contacts = entity.Contacts.Select(n => n.FirstName);
//select new
var contacts2 = entity.Contacts.Select(n => new { n.FirstName });
//normal select output
foreach (var c in contacts)
Response.Write(c + "<br/>");
//select new output
foreach (var c in contacts2)
Response.Write(c.FirstName + "<br/>");
我能看到的唯一區別是,在正常的選擇,將名字(串)被存儲在集合中,而在選擇新的,接觸的對象存儲在collecton並通過其屬性訪問firstname。另外,select new返回僅在語句中選擇的屬性。
我注意到的另一個區別是,您可以在select new中返回多個特定屬性。
在什麼情況下你會選擇一個嗎?
感謝您的幫助。
下面是一個場景:'select new {n.FirstName,n.LastName}' –