C#获取2D整数数组中最大值的索引值

C#获取2D整数数组中最大值的索引值,c#,multidimensional-array,indexing,C#,Multidimensional Array,Indexing,有更巧妙的方法吗?在用随机数填充数组(用户确定2D数组的大小)后,我得到如下最大值: int largest = array.Cast<int>().Max(); int-Max=array.Cast().Max(); 现在要获得索引值,我唯一能想到的方法是: for (int i = 0; i < rowsize); i++) { for (int j = 0; j < columnsize); j++) {

有更巧妙的方法吗?在用随机数填充数组(用户确定2D数组的大小)后,我得到如下最大值:

int largest = array.Cast<int>().Max();
int-Max=array.Cast().Max();
现在要获得索引值,我唯一能想到的方法是:

for (int i = 0; i < rowsize); i++) {
            for (int j = 0; j < columnsize); j++) {
                if (largest == array[i, j])
                    Console.WriteLine("The index values of the largest value are {0} and {1}", i, j);
            }
        }
for(int i=0;i

我在想有一种方法可以使用IndexOf方法,但找不到它。我可能错了,但是foreach循环似乎不支持索引值

在您当前的情况下,有可能出现重复的最大值。将要显示的消息保存到局部变量并在循环后以message1\r\n\message2\r\n\r\n消息3的形式打印,可能可以节省半毫秒的时间。然而,如果你只对第一次发生感兴趣,那么打破循环可能是值得考虑的


无论哪种方式,您基本上都很好。

在您当前的情况下,有可能出现重复的最大值。将要显示的消息保存到局部变量并在循环后以message1\r\n\message2\r\n\r\n消息3的形式打印,可能可以节省半毫秒的时间。然而,如果你只对第一次发生感兴趣,那么打破循环可能是值得考虑的


无论哪种方式,你基本上都很好。

根据这篇文章,你尽了最大可能。根据这篇文章,你尽了最大可能。是的,数组随机填充的方式,最大值可能出现多次,我希望所有这些索引都出现在它们出现的地方。我必须重写输出,使其读起来更好。是的,数组随机填充的方式,最大值可能会出现多次,我希望所有这些索引都出现在它们出现的地方。我必须重写输出,使它读起来更好一点。