2013-08-06 129 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 });