检索具有最长字符串长度的成员变量的对象

时间:2008-10-30 21:24:17

标签: vb.net linq-to-objects

给定包含作为字符串的成员变量的对象的通用列表,获取包含具有最长长度的字符串的对象的最佳方法是什么?

即。 假设val1是我正在比较的字符串:

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

需要返回的是对象2,因为“aba”的长度最长。

3 个答案:

答案 0 :(得分:2)

抱歉,我会再试一次。您可以使用以下聚合:

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

答案 1 :(得分:0)

您还可以使用order-by:

var x = myStringArray.OrderBy(s => s.Length).Last();

答案 2 :(得分:0)

Dim longestLength = elements.Max(Function(el) el.val1.Length)
Dim longest = elements.First(Function(el) el.val1.Length = longestLength)