首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c# DirectoryInfo,GetFiles

c# DirectoryInfo,GetFiles
EN

Stack Overflow用户
提问于 2013-01-29 01:50:07
回答 3查看 243关注 0票数 1

我有以下代码,可以很好地工作。我尝试做的事情(在一个镜头中)是检查目录是否存在,如果存在,我想检查文件夹中是否存在文件。如果是,则返回Y,否则返回N:

代码语言:javascript
复制
string s = new DirectoryInfo("C:\\EXP_Reports\\36000").Exists
   ? new DirectoryInfo("C:\\EXP_Reports\\36000").GetFiles("EXP Report #36001.pdf")
       .Any() ? "Y" : "N"
   : "N";

我想知道上面的代码是否可以进一步优化。请注意,我想用一句话来做这件事。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-29 01:51:35

为什么不简单地使用File.Exists

代码语言:javascript
复制
bool q = File.Exists(@"C:\EXP_Reports\36000\EXP Report #36001.pdf");

请参阅http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx

我还更改了代码,使用bool而不是包含Y或N的string

而且,使用原封不动的字符串文字@"..."读起来更好。

票数 7
EN

Stack Overflow用户

发布于 2013-01-29 01:53:06

使用

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

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

不需要实例化任何东西。

如果只需要检查文件是否存在,则不需要检查目录是否存在。

票数 2
EN

Stack Overflow用户

发布于 2013-01-29 01:53:08

你不能使用string s = File.Exists("C:\\EXP_Reports\\36000\\EXP Report #36001.pdf") ? "Y" : "N";吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14568037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档