-3

上記のコードを実行するとエラーが発生し、正確な問題がわかりません。これに対する解決策は何ですか?

using System;

class second
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, {}!", args[0]);
        Console.WriteLine("Welcome to the C# station tutorial!");

        Console.ReadLine();
    }
}

エラーは「インデックスが範囲外です」です。

4

5 に答える 5

4

引数の位置がありません

Console.WriteLine("Hello,{0}!", args[0]); 
于 2012-06-06T22:40:51.143 に答える
4

string[] argsパラメータは、exe へのコマンドライン パラメータです。私はあなたが引数を渡さなかったと推測しているので、それargs[0]が言ったように範囲外です。exeを次のように実行した場合:

your.exe MyName

その場合、少なくともIndexOutOfRangeException- を通り過ぎて、FormatException代わりに a を発生させます;p これを修正するには、を to に変更{}{0}ます。

于 2012-06-06T22:40:54.713 に答える
1

Visual Studio からプログラムを実行したため、に対してパラメーターを渡さずにプログラムを実行したと思いますarg[]

パラメータを渡すにはE.g. Scott to arg[]

  1. ソリューション エクスプローラーに移動します (メニュー[表示] → [ソリューション エクスプローラー] ) 。

  2. [プロパティ]を選択します。

  3. [開始オプション]セクションの [コマンド ライン引数]テキスト ボックスに「Scott」と入力します。

    プログラムは通常どおり実行されます。下の画像を参照してください。

b

于 2016-06-05T15:24:18.147 に答える
0

args に項目がない場合、その最初のインデックス (つまり 0) を取得しようとすると、範囲外のインデックス例外が発生します。args 内のインデックスを参照する前に、args が null または空でないことを確認する必要があります。いくつかのコマンド ライン引数を指定してその例を実行すると、おそらく動作するでしょう。

于 2012-06-06T22:40:38.527 に答える