難しいLINQ式がありますが、なぜ動作しないのかわかりません。私が手に構文エラーがなぜこのLINQ Select式が機能しないのですか
は、用法から推測することはできません
Enumerable.Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>)
の引数の型です。型引数 を明示的に指定してみてください。
エラーは2番目のSelect
ステートメントx.Select
にあります。私はallFactors
からリストの各リストの1つの要素をつかみ、一緒に追加し、一緒に追加された各グループのそれぞれをtempList
に保持しようとしています。言い換えれば、個々の要素をまとめてtempList
とし、その合計がtemp
であることを知りたいと思います。
コードallFactors
には値が入っています。どのようにタイプを明示的に指定するか、あるいは別の方法でこれを行うことができます。私はなぜ型が推論されないのか理解できません。
int temp = 0;
//List<List<int>> allFactors = new List<List<int>>();
List<int> tempList = new List<int>();
allFactors.Select(x => x.Select(y => { temp += y; tempList.Add(y); }));
EDIT: David Lの答えは構文エラーを修正します。残念なことに、さらにテストをすると、私のコードは私がしたいことをしていないことに気付きました。私が本当に望むのは、各グループがリストのリストから唯一の要素で構成されているすべての順列を得ることです。例として:
List<List<int>> oldList = {{1,2},{3,4}};
List<List<int>> newList = {{1,3},{1,4},{2,3},{2,4}};
私はnewList
にoldList
を変換するいくつかの方法を探しています。課題は、ネストされたリストがいくつあるか、各リストに含まれるアイテムの数がわからないことです。何か案は?これまでの皆さんのご意見ありがとうございます。
タイプは何をすべてのファクタの? –
2番目の 'Select'節は何も返しません。 – MarcinJuraszek
"tempList"に "allFactors"の各リストの最初の要素だけを入れたいですか? –