假设你的数据表有两个字段,分别为f1(int), f2(nvarchar)。将数据库结果集存放到数组中,代码如下:
阿合奇网站建设公司成都创新互联公司,阿合奇网站设计制作,有大型网站制作公司丰富经验。已为阿合奇上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的阿合奇做网站的公司定做!
// 定义一个结构
public struct Record
{
public int F1;
public string F2;
}
读取数据库,将数据存放到一个Record[] 数组中
pubilc Record[] GetRecord()
{
// 建立一个泛型列表集合
ListRecord records = new ListRecord();
// ……
SqlDataReader lo_reader = cmd.ExecuteReader();
while(lo_reader.Read())
{
Record r = new Record();
r.F1 = (int)lo_reader[0];
r.F2 = (string)lo_reader[1];
// 添加到集合中
records.Add(r);
}
// 返回记录数组,将泛型集合转换成数组!
return records.ToArray();
}
for each是用来简化for的,但你这种写法有点奇怪,一般没这样用的,通常的用法是
dim a() as string={....}
dim str as string '定义临时变量,它的类型与你数组中元素类型一致
For Each str In a
MessageBox.Show(str)
Next
你上面代码中,a就是一个3个元素的数组,从a[0]到a[2], 用for each的时候,就会遍历你的a数组,上面的代码相当于
for i=0 to a.Length-1
MessageBox.Show(a(i))
next
给你一个提示吧!呵呵,剩下的要自己思考哦!
Path:是初始目录的路径
Private Sub WriteArray(ByVal Path As String)
'写入数组代码在这里,直接将Path写到数组就行了。
Dim dir As New IO.DirectoryInfo(Path)
For Each d As IO.DirectoryInfo In dir.GetDirectories
WriteArray(d.FullName) '递归
Next
End Sub
如果子目录较多那么递归会比较费时间,在调用递归前加入application.doevent就行了,这样在应对大递归时不会死机。
至于数组嘛使用 arraylist 最好了。
回答补充:
把递归去掉就行了啊!