关于定义变量问题

温飞_会员 2009-02-21 04:07:36
Dim DemoWinForms As FileInfo() = My.Computer.FileSystem.GetDirectoryInfo(My.Computer.FileSystem.CurrentDirectory).GetFiles("CH1_Demo*.vb")

问题一:为什么Dim DemoWinForms As FileInfo() 中没有New

问题二:为什么FileInfo后有括号

问题三:GetDirectoryInfo是个方法,怎么后面还可以跟GetFiles("CH1_Demo*.vb"),这样不就 方法.方法 了吗?
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huguangwu 2009-02-22
  • 打赏
  • 举报
回复
Dim DemoWinForms As FileInfo() = My.Computer.FileSystem.GetDirectoryInfo(My.Computer.FileSystem.CurrentDirectory).GetFiles("CH1_Demo*.vb")

问题一:为什么Dim DemoWinForms As FileInfo() 中没有New
问题二:为什么FileInfo后有括号
问题三:GetDirectoryInfo是个方法,怎么后面还可以跟GetFiles("CH1_Demo*.vb"),这样不就 方法.方法 了吗?

解答:

问题一:等号左边是声明数组,右边是赋值。VB中数组不需要new实例化来分配内存。
问题二:括号表示数组,C#中是[]
问题三:GetDirectoryInfo()方法返回一个DirectoryInfo的对象,是这个对象调用的GetFiles方法,不是方法调用方法
cccll9 2009-02-22
  • 打赏
  • 举报
回复
FileInfo() 是数组类型,VB.Net 2008可以根据As后面的类型推断出前面的类型(所谓的type inference),而之前的版本则认为前面的类型是object,到运行时才进行晚绑定。
温飞_会员 2009-02-22
  • 打赏
  • 举报
回复
Dim DemoWinForms As FileInfo()

FileInfo()怎么会是数组呢,和数组的定义不就有问题。
最起码也应该是Dim DemoWinForms() As FileInfo
pjagz 2009-02-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 51Crack 的回复:]
数组
[/Quote]

数组正解。
'---------------
Dim DemoWinForms As IO.DirectoryInfo = My.Computer.FileSystem.GetDirectoryInfo("D:\新建文件夹")
cccll9 2009-02-21
  • 打赏
  • 举报
回复
问题一:为什么Dim DemoWinForms As FileInfo() 中没有New
-------------
FileInfo不是引用类型无需new,就好象定义integer的数组一样
Dim arr As Integer()

问题二:为什么FileInfo后有括号
--------------
数组。

问题三:GetDirectoryInfo是个方法,怎么后面还可以跟GetFiles("CH1_Demo*.vb"),这样不就 方法.方法 了吗?
-------------
GetDirectoryInfo的返回类型可以用GetFiles,而非方法本身。
温飞_会员 2009-02-21
  • 打赏
  • 举报
回复
Dim DemoWinForms() As FileInfo 才是数组啊!
温飞_会员 2009-02-21
  • 打赏
  • 举报
回复
怎么会是数组呢?
Dim DemoWinForms() As FileInfo 才是数组啊!
51Crack 2009-02-21
  • 打赏
  • 举报
回复
数组

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧