对于以下datatable列,获取最小值和最大值的最快方法是什么?
AccountLevel 0 1 2 3
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 Min和Max扩展名总是很慢,因为您必须迭代两次。您可能会使用Linq Aggregate,但是语法不会比现在更漂亮。
Min
Max
Aggregate