from e in employees
where e.MonthlySalary >= 4000M && e.MonthlySalary <= 6000M
select e;
この状況で e= 要素ですか、それとも何か違うことを述べていますか?
e
クエリの結果セットを参照して設定する単なるエイリアスです。
必要に応じて名前を付けることができchocolateSprinkles
ます。重要なのは、生活を楽にするためにあるということです。:)
これにより、元のコードとまったく同じ結果が生成されます。
// The raddest of the rad dudes.
from radDudes in employees
where radDudes.MonthlySalary >= 4000M && radDudes.MonthlySalary <= 6000M
select radDudes;
C#開発者は通常、これらのLinqクエリで一文字の変数を使用します。これは、一目で入力して読み取る方が簡単だからです。変数は通常、Linqクエリ以外では使用されないため、1文字だけを使用する場合があります。
わかりやすい名前を使用することをお勧めします。あなたの場合、より読みやすいので、代わりにe
使用することもできます。employee
// Which is more readble?
where e.MonthlySalary >= 4000M && e.MonthlySalary <= 6000M
// or:
where employee.MonthlySalary >= 4000M && employee.MonthlySalary <= 6000M
補足として、このLinq構文を使用することもできます。それは完全に個人的な好みです:
var resultEmployees = employees.Where(e => e.MonthylSalary >= 4000M && e.MonthlySalary <= 6000M);
これをどこかからコピーしたと仮定すると、e
任意です。が従業員のリストである場合employees
、誰かがおそらくe
1人の従業員を代表することを選択しました。
補足として、次のように書き直すこともできます。
employees.Where(e => e.MonthlySalary >= 4000M && e.MonthlySalary <= 6000M)
...これは時々読みやすくなります。
from e in employees ...
基本的には同じです
foreach(var e in employees) { ... }
これは、他の人が言っていることを示しています。これe
は、セットの現在の要素の単なる変数名です。
うーん、それe
はあなたが望むものなら何でもかまいません。などと呼ぶことができx, y, z
ます。リスト内のオブジェクトを表します。したがって、あなたの例e
では aemployee
オブジェクトを参照しています。e.MonthlySalary
つまり、またはなどと言うことができe.EmployeeName
、それらの条件ですべての従業員に一致します