-2
以下のC#コードを参照してください。C#でグローバルに割り当てられた文字列変数の問題
string file_name;
if (Directory.GetFiles(targetPath, "*.xls").Length != 0)
{
var directory = new DirectoryInfo(@"C:\Users\INTEL_ADMIN\Downloads\SubDir");
var myFile = (from f in directory.GetFiles()
orderby f.LastWriteTime descending
select f).First();
file_name = myFile.Name;
}
MessageBox.Show(file_name);
私は、グローバル文字列file_name
を初期化し、if else
ブロック内の値を初期化し、ブロックの外に同じ値を取得しようとしています。私は下にBuild Error
を得ています。なぜあなたは説明できますか..?
Usage of unassigned local variable file_name
あなたは適切に変数を初期化する必要があります: '文字列file_nameに= null'なので、コンパイラはその条件が失敗した場合の包みとして保証されませんあなたの場合には、保証初期化を保証する必要があるため。 –
'string file_name = string.Empty;に変更してください。 – Equalsk
string file_name =" "; – jdweng