一尘不染

如何在数据表中选择列的最小值和最大值?

c#

对于以下datatable列,获取最小值和最大值的最快方法是什么?

AccountLevel  
0  
1  
2  
3

阅读 311

收藏
2020-05-19

共1个答案

一尘不染

int minAccountLevel = int.MaxValue;
int maxAccountLevel = int.MinValue;
foreach (DataRow dr in table.Rows)
{
    int accountLevel = dr.Field<int>("AccountLevel");
    minAccountLevel = Math.Min(minAccountLevel, accountLevel);
    maxAccountLevel = Math.Max(maxAccountLevel, accountLevel);
}

是的,这确实是最快的方法。使用Linq MinMax扩展名总是很慢,因为您必须迭代两次。您可能会使用Linq
Aggregate,但是语法不会比现在更漂亮。

2020-05-19