1

よりスマートな方法はありますか?配列に乱数を入力した後 (およびユーザーが 2D 配列のサイズを決定する場所)、次のような最大値を取得しました。

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 ループはインデックス値をサポートしていないようです。

4

1 に答える 1

1

現在の状況では、最大値が重複する可能性があります。おそらく、表示するメッセージをローカル変数に保存し、これをループの後に message1\r\n\message2\r\n\r\nmessage3 の形式で出力することで、0.5 ミリ秒節約できます。ただし、ループからの最初の発生のみに関心がある場合は、検討する価値があるかもしれません。

いずれにせよ、あなたは基本的に元気です。

于 2013-10-13T21:55:41.663 に答える