0
リストに項目を追加するための文字列配列とforループがあります。ここでC#ループの代わりにLinqメソッドを使用する
は私のコードです:
//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);
}
ではなくfor
のLINQのメソッドまたは何か他のものを使用する方法はありますか?
* real *コードの代わりに-codeを使用します。これはあなたの実際のコードではないので、あなたが残したあなたの実際のコードに重要なものがないことを確かめることはできません。 [mcve]を入力してください。しかし、順序を気にしない限り、単に 'var names = db.Customers.Where(u => browsers.Contains(u.BrowserName))を使うことができます。(u => u.FirstName).ToList(); '。 (あなたは 'db.Customers.ToList()'を一般的に呼び出すべきではありません。データベースからすべての顧客を引っ張ってくるからです...) –
@CodeCAsterによってフラグが立てられているとは分かりません(x => x.FirstName)); ' –
@FrankFajardo:いいえ、あなたはあなたの' for'ループをこれで置き換えることができます: 'names.AddRange(users.where(x => browser.Contains(x.BrowserName)それはコンパイルされません。 –