小编use*_*543的帖子

LINQ - .Select(n => n.Name)和.Select(n => new {n.Name})之间的区别;

我是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中返回多个特定属性.

在什么情况下你会选择一个而不是另一个?

谢谢您的帮助.

.net c# linq entity-framework

5
推荐指数
2
解决办法
755
查看次数

标签 统计

.net ×1

c# ×1

entity-framework ×1

linq ×1