2013-08-06 35 views
2

有没有办法从模型列表中获取特定项目而不使用列表的每个列表?就像你返回一个List<model>拿着一个有几个不同项目的模型来专门调用这些项目一样。从模型列表中获取模型

+0

你的意思是访问它们按指数? –

+0

有很多方法可以访问列表中的项目,而不用'foreach'遍历它。你有没有看过[documentation](http://msdn.microsoft.com/en-us/library/s6hkc2c4.aspx)? – tnw

+0

爱因斯坦的不朽之言......咦?你能澄清一下这个问题吗? –

回答

1

您可以使用C#LambdaExpression,像这样:

var yourModel = modelList.Where(x => x.Id = 12).Select(x).First(); 
1

如果你想这是你的列表中,那么你可以使用LINQ返回这些项目的具体项目清单,例如:

var customerNames = customersList.Select(customer => customer.Name); 

这将为您提供一个字符串集合,其中包含的所有客户名称等于原始列表中的金额。

或者,如果你想获取一些从模型列表不同的项目,那么你可能要考虑创建一个类专门针对剔除这些项目,例如:

public class CustomerContactDetails 
{ 
    public string Address { get; set; } 
    public string Email { get; set; } 
    public string Telephone { get; set; } 
} 

... 

var contactDetails = customersList.Select(customer => new CustomerContactDetails { Address = customer.Address, Email = customer.Email, Telephone = customer.Telephone });