数组.最大值(); 返回的是数组索引而非数值

4

我正在创建一个包含24个数字并将它们显示在表格中的数组。我已经使用"arrayname".Max();来确定最大的数字,但是我需要显示具有最大数字的数组槽位。

例如,第15小时拥有最高数字,所以消息中会显示15而不是分配给15的数字。

我的代码如下:

 public void busiest(int[] A)
 {
     int busy;
     busy = A.Max(); //Displays the highest values in a given set i.e. an array
     Console.WriteLine("\nThe busiest time of day was hour " + busy);
 }

有没有人能说一下,我是否遗漏了一些简单的东西来显示插槽而不是分配的号码?
谢谢

1
当你说“slot”时,你是指索引吗?你是想找出数组中对应于最高数字的哪个索引/位置吗? - maccettura
是的,抱歉,仍然称其为插槽。 - William. Foster
你的数组是否会有重复的值?也就是说,如果数组中有两个最大值,它们的顺序是否重要? - maccettura
不,顺序并不重要。 - William. Foster
1个回答

7

你需要调用的是Array.IndexOf

Array.IndexOf(A, A.Max());

关于此方法的更多信息,请查看这里

请注意,如果数组中有多个具有相同值的元素,则此方法将返回第一个元素的索引。例如,如果最大值为10,并且有两个元素分别位于索引2和3处,则此方法将返回2的值。


@William.Foster 没问题 :) - Vadim Ovchinnikov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接