次の問題があります。ファイルパスを格納する必要がある文字列変数があります。foreach ループでは、特定のディレクトリ内のすべてのファイルを調べて、その文字列変数に保存されている最も古いファイルを探しています。ループが終了したら、そのファイルを削除しようとしましたが、エラーが発生しました:未割り当てのローカル変数の使用。
コードは次のとおりです。
DateTime min = DateTime.Now;
string[] fileNames = Directory.GetFiles(somePath);
string fileDelete;
int countFiles = fileNames.Length;
if (countfiles > 5)
{
foreach (string someFile in fileNames)
{
FileInfo infoFile = new FileInfo(someFile);
if (infoFile.CreationTime <= min)
{
min = infoFile.CreationTime;
fileDelete = someFile;
}
}
File.Delete(fileDelete);
}
File.Delete(fileDelete) の文字列 fileDelete には値がないと書かれていますが、面白いのは、最初にそのように値を指定すると、次のようになります。
string fileDelete = "blabla";
それは完全に正常に動作します。あなたが疑問に思っている場合に備えて、これはメソッドのほんの一部です