2008-10-30 65 views
1

給定一個包含作爲字符串的成員變量的對象的通用列表,獲取包含具有最長長度的字符串的對象的最佳方式是什麼?檢索具有最長字符串長度的成員變量的對象

即。 假設VAL1是我比較字符串:

0 : { val1 = "a" } 
1 : { val1 = "aa" } 
2 : { val1 = "aba" } 
3 : { val1 = "c" } 

需要返回的是對象2,因爲「ABA」有最大長度。

回答

2

對不起,我會再試一次。您可以使用下面的聚合:

Dim result = elements.Aggregate(Function(a, b) If(a.val1.Length > b.val1.Length, a, b)) 
+0

可能需要IIF但看起來像它會工作 – 2008-10-30 21:34:48

+0

不,我用`如果「故意!嘗試一下,這個構造對於VB 9來說是新的.If`現在已經過時了。 – 2008-10-30 21:35:50

0

你也可以使用一個訂單由:

var x = myStringArray.OrderBy(s => s.Length).Last(); 
0
Dim longestLength = elements.Max(Function(el) el.val1.Length) 
Dim longest = elements.First(Function(el) el.val1.Length = longestLength)