我有一個困難的LINQ表達式,我不明白爲什麼它不起作用。我得到的語法錯誤是爲什麼不這個LINQ選擇表達式工作
Enumerable.Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>)
的參數類型不能由使用推斷出 。嘗試明確指定類型參數 。
錯誤在第二個Select
聲明,x.Select
。我試圖從allFactors
中抓取列表的每個列表中的一個元素,並將它們添加在一起,並將每個分組的每個分組保存在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); }));
編輯: David L的答案確實修復了語法錯誤!不幸的是,隨着進一步的測試,我意識到我的代碼沒有做我想做的事情。我真正想要的是獲得每個組的排列,每個組只由列表中的一個元素組成。舉個例子:
List<List<int>> oldList = {{1,2},{3,4}};
List<List<int>> newList = {{1,3},{1,4},{2,3},{2,4}};
我正在尋找一些方法來oldList
轉換成newList
。我面臨的挑戰是我不知道每個列表中會有多少嵌套列表或多少個項目。有任何想法嗎?感謝大家迄今爲止的想法。
什麼類型所有因素? –
你的第二個'Select'子句不返回任何東西。 – MarcinJuraszek
你是否想在「tempList」中只放置每個「allFactors」列表的第一個元素? –