vb.net新手求助:

在vb.net中,我看到用这句可以获取进程,
Dim a() As Process = Process.GetProcessesByName("123.exe")
可是我吧a()改为a就变成错误了,
我想知道什么时候用数组,什么时候用变量呢?
我如何看一个方法的返回值类型呢?教教我啊,谢谢了。

在MSDN中关于Process.GetProcessByName方法的定义:
GetProcessesByName 方法 (String, String)
创建新的 Process 组件的数组,并将它们与远程计算机上共享指定进程名称的所有进程资源关联。
返回值的类型:array<System.Diagnostics..::.Process>[]()[]
Process 类型的数组,它表示运行指定应用程序或文件的进程资源。

所以这里你不能把a()变成a。
如果你使用的是Process.GetProcessById方法的话,那么就可以用a来定义了,因为在任何特定计算机上,进程的标识符都是唯一的。GetProcessById(Int32, String) 最多返回一个进程。所以GetProcessById方法返回的是Process组件,而不是一个一维数组。

你只需要在使用函数的时候从百度上搜索函数的定义就可以了,当然推荐你去msdn进行搜索,msdn是微软最全的开发者资料库,地址是msdn.microsoft.com/zh-cn/

参考资料:http://msdn.microsoft.com/zh-cn/725c3z81(VS.85).aspx

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-25
这个很简单,看你使用什么方法,比如GetProcessesByName方法如果返回值是数组就前面就定义数组,如果返回是单个的对象,则定义单个变量就行了。
第2个回答  2011-01-26
Process.GetProcessesByName方法返回的是数组,所以你当然只能用数组了.因为有可能出现多个名称为123.exe 的进程啊.
在键入Process.GetProcessesByName这句代码时,会显示该方法所返回的对象,你看它后面有()没有,有就是数组,你也要加().没有,就是单个实例,你就不加().
注意写成Dim a As Process() 一样可以哟.括号写在a后面和Process后面都是一样的效果.
相似回答