我是Linq的新手,想知道你是否可以帮我理解以下Linq之间的区别?例如...
//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/>");
Run Code Online (Sandbox Code Playgroud)
我能看到的唯一区别是,在正常选择中,firstname(字符串)存储在集合中,而在select new中,联系对象存储在collecton中,firstname由其属性访问.select new也返回仅在语句中选择的属性.
我注意到的另一个不同之处是您可以在select new中返回多个特定属性.
在什么情况下你会选择一个而不是另一个?
谢谢您的帮助.