嗯,标题说明了一切.将文件名传递给方法时,我应该使用FileInfo对象还是普通文件名(字符串)?为什么我更喜欢一个到另一个?
我的一些同事喜欢写这样的方法:
它比以下更好:
谢谢!
Jon*_*eet 17
我通常只使用string- 在大多数情况下它更简单.否则你可能只是FileInfo首先从字符串中创建一个新的.
如果您正在创建该方法,则始终可以提供重载以允许两者.
当然,如果你知道你想打电话给它的地方,你通常会有一个FileInfo而不是一个string,这是另一回事.
我可以看到你同事的观点 - 在某些方面,a FileInfo是一种表达参数的"更清洁"的方式.我认为string虽然是更务实的方法:)
差异主要在于有一些检查正在进行; FileInfo构造函数检查null或明显无效的参数.它还有其他一些功能; 采用FileInfo基本上只是将处理来自FileInfo构造函数的异常的责任放在调用代码上,而不是代码.
这是FileInfo构造函数的MSDN参考,它显示了构造函数可以抛出的内容:
http://msdn.microsoft.com/en-us/library/system.io.fileinfo.fileinfo.aspx