我有一个这样的类,它存储一些数据以便以后创建ListView:
public class ListData
{
public string Name{get; set;}
public int ColumnsNumber{get; set;}
//And some other stuff!!
}
现在,我有List<ListData> datas
,其中包含上述类的大量实例。为了在详细模式下制作ListView,我需要知道所需列的最大数量。我该如何检查?
目前我有:
int max = 0;
foreach(ListData data in datas)
{
if (data.ColumnsNumber > max) max = data.columnsNumber;
}
这似乎有效,但有没有更好的方法,或者用C#内置的方法或内容来做这个?
答案 0 :(得分:2)
您可以使用LINQ:
var max = datas.Select(d => d.ConlumnsNumber).Max();
通过这一行,您告诉LINQ,将ListData元素集合映射到ColumnsNumber集合,然后调用Max()这是一个聚合方法。
为了编译它,您应该添加using System.Linq
答案 1 :(得分:2)
对于喜欢非lambda版本的人:
int max = (from d in datas
select d.ColumnsNumber).Max();
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以使用Linq查询:
int max = datas.Max(data => data.ColumnNumbers);
答案 4 :(得分:0)
使用Linq:
var max = datas.Any() ? datas.Max(data => data.ColumnsNumber) : 0;