2013-02-07 32 views
3

字符串[]列出 的第一要素我有字符串數組列表: List<string[]> myList; 獲得使用LINQ

有沒有什麼辦法讓一個字符串數組所有元素串[0]? 喜歡清單myList中以字符串[]其中元件是myList中[串[0]]

我想it's類似變種結果=從myList中X。取(0)選擇X

和問題2 ) 是否有任何方式將字符串[]轉換爲字符串[1,]沒有for循環? 現在我做:

for (int i = 0; i < arr.Length; i++) 
     range[0, i] = arr[i]; 

我需要 「這個語法」,因爲I'm導出到Excel列。我需要一個對象[,]來執行range.set_Value(Type, object[,])

+0

你試過了什麼?另外,您應該一次提出一個問題。如果您有兩個不同的問題,請提出兩個不同的問題。 – svick

回答

6
string[] result = myList.Select(arr => arr.FirstOrDefault()).ToArray(); 

這是你在找什麼?

Take(n)只返回一個枚舉最多n元素,所以這顯然是錯誤的。

+1

我以爲'arr [0]'很好。在這裏使用'FirstOrDefault()'看不出有什麼好處 – paul

+0

@paul如果沒有元素,FirstOrDefault將返回null,而不是去_BANG!_。 –

+1

我想這取決於@Alberto他是否會想要它爆炸!在這裏,還是他的應用程序應該勇敢地繼續與一個意外的空數據集 – paul

1

從我從你的問題收集,這應該足夠了:

string[] result = (from item in myList select item.FirstOrDefault()).ToArray()); 
1

對於第一部分;

var temp = myList.Select(q => q.FirstOrDefault()); 

對於第二部分; 我不認爲有直接Linq語句將單維數組轉換爲多維數組。

+0

這將返回一個'IQueryable ',據我所知。 –

+0

@GrantThomas爲什麼會那樣做?除非你以'IQueryable'開始,或者顯式調用'AsQueryable()',否則LINQ將不會返回。 – svick