1

私はうまくいく次のコードを持っています。私が(一発で)やろうとしているのは、ディレクトリが存在するかどうかを確認することです。存在する場合は、フォルダ内にファイルが存在するかどうかを確認したいと思います。含まれている場合はYを返し、そうでない場合はNを返します。

string s = new DirectoryInfo("C:\\EXP_Reports\\36000").Exists
   ? new DirectoryInfo("C:\\EXP_Reports\\36000").GetFiles("EXP Report #36001.pdf")
       .Any() ? "Y" : "N"
   : "N";

上記のコードをさらに最適化できるかどうか疑問に思っています。一言でやりたいと思いますので、ご了承ください。

4

3 に答える 3

7

単純に使用してみませんかFile.Exists

bool q = File.Exists(@"C:\EXP_Reports\36000\EXP Report #36001.pdf");

http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspxを参照してください

また、 YまたはNを含むbool代わりに使用するようにコードを変更しました。string

また、逐語的な文字列リテラルを使用すると、@"..."読みやすくなります。

于 2013-01-28T17:51:35.487 に答える
2

使用する

System.IO.Directory.Exists("...");

System.IO.File.Exists("...");

何もインスタンス化する必要はありません。

ファイルの存在を確認するだけでよい場合は、ディレクトリが存在するかどうかを確認する必要はありません。

于 2013-01-28T17:53:05.530 に答える
0

使えませんstring s = File.Exists("C:\\EXP_Reports\\36000\\EXP Report #36001.pdf") ? "Y" : "N";か?

于 2013-01-28T17:53:08.270 に答える