主题:[讨论]请教一个小问题,两个语句有何区别?
secondheart
[专家分:0] 发布于 2006-11-09 15:24:00
请教一个小问题,两个语句有何区别?
想请前辈们指点一下,下边的两个语句有何区别?
System.IO.Directory.CreateDirectory("C:\FDM\A\")
Dim fileB As System.IO.DirectoryInfo
fileB = System.IO.Directory.CreateDirectory("C:\FDM\B\")
回复列表 (共3个回复)
沙发
jzyray [专家分:20610] 发布于 2006-11-09 20:01:00
XXInfo和XX本来就有很多相似的地方。
各自偏重点不同。
板凳
hahagames [专家分:110] 发布于 2006-11-11 14:25:00
其实这两个语句都是执行了Directory.CreateDirectory方法来创建目录,只不过第2个语句返回了值,下面是.net中对Directory.CreateDirectory方法的定义:
Public Shared Function CreateDirectory( _
ByVal path As String _
) As DirectoryInfo
可以看到他是一个有返回值的,而且返回值的类型是DirectoryInfo
我把第二个语句改写一下,下面的语句才是真正与第一条语句不同的
Dim fileB As System.IO.DirectoryInfo("C:\FDM\B\")
fileB.Create()
下面是msdn中对这两个的区别的描述:
由于所有的 Directory 方法都是静态的,因此如果只想执行一个操作,使用 File 方法的效率比使用相应的 DirectoryInfo 实例方法可能更高。大多数 Directory 方法要求当前操作的目录的路径。
Directory 类的静态方法对所有方法都执行安全检查。如果打算多次重用某个对象,可考虑改用 DirectoryInfo 的相应实例方法,因为并不总是需要安全检查。
3 楼
secondheart [专家分:0] 发布于 2006-11-14 10:39:00
谢谢你的详细说明
我来回复