linqのletキーワードはintoキーワードよりも優れていますか?
私は現在LINQをブラッシュアップしletており、intoキーワードとキーワードの使用の違いを理解しようとしています。私の理解では、これまでのところ、letキーワードはキーワードよりも優れintoているようです。 intoキーワードは、本質的に1投影後にクエリを継続することができます。(グループ参加用のものを参照していないことを明示的に述べたいだけです。) 名前の配列が与えられると、次のことが可能になります。 var intoQuery = from n in names select Regex.Replace(n, "[aeiou]", "") into noVowel where noVowel.Length > 2 select noVowel; これは、選択の結果を取り、にそれを置きnoVowel、その後1を追加導入することができます変数where、orderbyおよびselect句。一度noVowel変数が作成され、n変数は使用できなくなりました。 letキーワードは、他の一方で、一度に複数の変数を再利用できるようにするために一時匿名型を使用しています。 次のことができます。 var letQuery = from n in names let noVowel = Regex.Replace(n, "[aeiou]", "") where noVowel.Length > 2 select noVowel; noVowelとn変数の両方を使用できます(この場合は使用していませんが)。 違いはわかりますが、クエリの後半で前の変数を使用できないことを明示的に確認したい場合を除いて、intoキーワードよりもletキーワードを使用する理由がよくわかりません。 それで、両方のキーワードが存在する正当な理由がありますか?