Obtaining the min and max of a two-dimensional array using LINQ

前端 未结 4 2494
醉酒成梦
醉酒成梦 2021-02-20 09:30

How would you obtain the min and max of a two-dimensional array using LINQ? And to be clear, I mean the min/max of the all items in the array (not the min/max of a particular di

相关标签:
4条回答
  • 2021-02-20 10:07

    Since Array implements IEnumerable you can just do this:

    var arr = new int[2, 2] {{1,2}, {3, 4}};
    int max = arr.Cast<int>().Max();    //or Min
    
    0 讨论(0)
  • 2021-02-20 10:12

    You could implement a List<List<type>> and find the min and max in a foreach loop, and store it to a List. Then you can easily find the Min() and Max() from that list of all the values in a single-dimensional list.

    That is the first thing that comes to mind, I am curious of this myself and am gonna see if google can grab a more clean cut approach.

    0 讨论(0)
  • 2021-02-20 10:17

    This seems to work:

    IEnumerable<int> allValues = myArray.Cast<int>();
    int min = allValues.Min();
    int max = allValues.Max();
    
    0 讨论(0)
  • 2021-02-20 10:23

    here is variant:

    var maxarr = (from int v in aarray select v).Max();
    

    where aarray is int[,]

    0 讨论(0)
提交回复
热议问题