2014-03-14 91 views
2

lstArray是字符串數組列表:如何獲取字符串數組列表的最後一個元素?

List<string[]> lstArray = new List<string[]>(); 

顯然它的大小而變化。在下面的示例中它有兩個元素;第一個有4個,第二個有5個項目。 最後一項總是指一個表名(tblPerson,tblCompany等)。這就是我想要收集的。 有時可能是第4,第5或甚至第8項。我將有另一個填充這些表名的字符串列表。

lstArray elements

lstArray [0]:

enter image description here

lstArray 1

enter image description here

回答

8

如果它總是最後一個元素,你可以使用這個:

var lastElements = lstArray.Select(e => e.Last()); 

如果某些陣列具有零個元素,你也可以使用:

var lastElements = lstArray.Select(e => e.LastOrDefault()); 

在這種情況下,你可以用一些null條目結束。另一種方式,以避免可能是這樣的:

var lastElements = lstArray.Select(e => e.Count == 0 ? string.Empty : e.Last()); 

這將使你string.Empty,而不是null爲空數組,這將在一定程度上更不容易出錯的耗時的代碼。

+1

你可以包括一個。在哪裏過濾空數組,但除此之外,你的答案得到我的投票。 – MarkO

+0

@David工作。感謝您的其他信息。 – Jude

2

下面將回報lstArray最後一個元素:

var lastElement = lstArray.Last(); 

不過你想要的是包含在lstArray字符串數組的所有元素最後,你可以得到這樣的集合:

var lastElements = lstArray.Select(i => i.Last()) 
+1

這將提供在列表的最後一個陣列,而不是最後一個元素的列表在每個數組中。 – David

+0

你說得對,我會糾正它。 – elnigno

1

你的意思是這樣?:

List<string[]> lstArray = new List<string[]>(); 
var result = lstArray.Select(a=>a.Last()) 
+0

是的。究竟。謝謝 – Jude

1
var lastElement = lstArray.Last().Last() //this will give the last element of last array 

var lastElement = lstArray.Select(sublist => sublist.Last()); //this will give last element of each array in the list 
+0

是啊@大衛......我現在編輯過 – Arjit

0

獲取列表的最後一個項目

int len = strList.length(); 
String strArr[] = strList.get(len); 

獲取字符串數組最後一個元素,即最後一個字符串

String str = strArr[strArr.size()-1] 
相關問題