获取以下列表name
中最长字符串长度的最快方法是什么:
public class test {
public int id { get; set; }
public string name { get; set; }
}
List<test> l = new List<test>();
使用LINQ。
答案 0 :(得分:2)
您可以使用LINQ
var longestLenght = l.Max(r => r.name.Length);
不确定它是否最快,但你可以通过与其他人比较来做到。
如果你想获得长度最长的物品,你可以这样做:
var itemFromListWithMaxLength = l
.OrderByDescending(r => r.name.Length)
.FirstOrDefault();
或者您可以针对之前检索到的longestLength
进行查询,例如:
var item = l.FirstOrDefault(r => r.name.Length == longestLenght);
答案 1 :(得分:1)
这在线性时间内工作,除非你知道关于数据的特殊内容,否则不可能更快:
int maxLength = l.Max(x => x.name.Length);