使用LINQ获取二维数组的最小值和最大值
你如何使用LINQ获得二维数组的最小值和最大值? 要清楚,我的意思是数组中所有项目的最小值/最大值(不是特定维度的最小值/最大值)。
或者我只是要以老式的方式循环?
由于Array实现了IEnumerable
你可以这样做:
var arr = new int[2, 2] {{1,2}, {3, 4}}; int max = arr.Cast().Max(); //or Min
这似乎有效:
IEnumerable allValues = myArray.Cast (); int min = allValues.Min(); int max = allValues.Max();
您可以实现List>并找到min和max foreach并将其存储到List中,然后您可以从单个List列表中的所有值的列表中轻松找到Min()和Max()。 这是我想到的第一件事,我自己很好奇,我会看看谷歌是否可以采取更干净的方法。
这是变种:
var maxarr = (from int v in aarray select v).Max();
其中aarray是int [,]