2014-06-11 93 views
2

我有一個double dSet[,]多維數組,其中每行有1500個元素。我有一個List<int> index,比如說100個整數值(0 - 1499)。現在,我必須創建一個帶有100個元素的List<double> val,其中每個元素都是dSet [0,i],其中i是List<int> index的元素。我知道這可以通過簡單的循環輕鬆完成。我想知道是否可以在C#中使用LinQ使用單個語句來完成。編輯: 感謝您的答案。 ?很抱歉,但我忘了提,DSET作爲參考:(傳遞是否可以做現在有條件添加元素到列表中的C#

回答

3

好像這是你在找什麼:

index.Select(i => dSet[0, i]).ToList(); 

關鍵是要選擇到您的index列表,在列表中的每個值選擇從dSet單個值

3

當然 - 這還只是從索引中的每個元素的投影:

List<double> val = index.Select(i => dSet[0, i]).ToList(); 

任何時候,如果您沿着「針對來自來源的每個元素」做了某些操作,請根據該元素做出某種輸出值「,這很可能最終爲source.Select(...),其中...是」做一些事情來獲得基於該元素的輸出值「。

ToList()只是將結果(一個IEnumerable<double>)轉換爲一個List<double>