さまざまなメソッドを制御するためにいくつかのコマンドラインスイッチを使用するコンソールアプリケーションがあります。各コマンドラインスイッチは、各引数を反復処理するforループ内にあるswitchステートメントによって処理されます。
for (int x = 0; x < args.Length; x++)
{
switch (args[x])
{
...
}
}
これは私のニーズには完全に機能しますが、-set-timeoutスイッチで指定されたタイムアウト期間に基づいて、先行する引数を無期限にループさせる--loopスイッチを追加する必要があります。
私がこれまでに持っているコードは次のとおりです。
switch (args[x])
{
case "--set-timeout-5m":
timeout = 300000;
System.Threading.Thread.Sleep(timeout);
break;
....
case "--loop":
x = 0;
break;
}
問題は、xを設定しても、forループが引数の先頭から継続しないことです。それはただそこに座っています。
コードがforループ内にあり、Visual Studioでエラーが生成されないため、xにスコープがあることを期待しています。また、breakステートメントが大文字と小文字を区別してxをforループに渡すことも期待しています。
なぜそれが機能しないのか、またはおそらく回避策を投稿するのか誰かが説明できますか?