C#使用Linq方法而不是for循环

时间:2017-05-13 07:18:04

标签: c# linq

我有一个字符串数组和一个for循环来添加项目列表。

这是我的代码:

//customers table : 
// Firstname, Lastname, Age, BrowserName, Date

string[] browsers = {"chrome", "Firefox", "Edge"}
var users = db.customers.ToList();

list<string> names = new List<string>();

for(var i = 0; i < browsers.lenght; i++) {
     names.Add(users.where(x => x.BrowserName == browsers[i]).FirstName);
}    

有没有办法使用Linq方法或其他东西代替for

2 个答案:

答案 0 :(得分:3)

而不是

for(var i = 0; i < browsers.lenght; i++) {
    names.Add(users.where(x => x.BrowserName == browsers[i]).FirstName);
}  

使用此

names = users.Where(x => browsers.Contains(x.BrowserName)).Select(y => y.FirstName).ToList();

答案 1 :(得分:0)

您可以按following-sibling执行此操作,如下所示:

foreach