2013-10-13 38 views
1

有沒有一種方便的方法?填充用隨機數數組後(並在用戶確定二維數組的大小),我得到了這樣的最大值:C#獲取二維整數數組中最大值的索引值

int largest = array.Cast<int>().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); 
      } 
     } 

我在想有一種使用IndexOf方法的方法,找不到它。我可能是錯的,但一個foreach循環似乎不支持索引值。

+0

根據這篇文章 - http://stackoverflow.com/questions/3260935/finding-position-of-an-element-in-a-two-dimensional-array你做得最好。 –

回答

0

在您當前的情況下,有可能出現重複的最大值。您可以節省您半秒的時間,將消息保存到局部變量中,並以message1 \ r \ n \ message2 \ r \ n \ r \ nmessage3的形式在循環後打印。但是,如果你只對第一次發生循環感興趣,可能值得考慮。

無論哪種方式,你基本上沒問題。

+0

是的,數組隨機填充的方式,最大值可能會出現不止一次,並且我希望所有這些索引都出現在哪裏。我將不得不重寫輸出,以便它讀得更好一些。 –