1

ac# プログラムでは、"n" 秒ごとにファイル内の文字列を読み取る必要があります。私のプログラム コードは次のようになります。

start:

.
.
.
config_path = Regex.Match(System.IO.File
                   .ReadAllText("c:\docs\xyz.log"),".*Command.*File:.*")
       .ToString()
       .Split(new string[] { "File: ", " ...\r" },                
                         StringSplitOptions.RemoveEmptyEntries)
       .Last();
.
.
.


goto start;

ループで初めて、プログラムは正常に実行されますが、ラベルへの 2 番目のエントリ (開始) では、例外 "c:\docs\xyz.log" がスローされます。ラベルへのエントリごとにこのファイルのロックを解除するにはどうすればよいですか。

4

1 に答える 1

0

同じファイルの同じテキストを何度も使用している場合は、ループが始まる前にそれを文字列に読み込んでから、その文字列を何度も使用することをお勧めします。

string str = System.IO.File.ReadAllText("c:\docs\xyz.log");
...
// now use str in the loop
start:
...

コメント:
同じ行に非常に多くのコマンドを記述するのは悪い習慣です。エラーが発生したときに、それがどこから来ているのかわからないからです。

于 2013-09-26T05:56:46.107 に答える