嵌套是指一個過程調用另一個過程的使用,遞歸過程是這個過程中調用本過程的使用。遞歸是嵌套的一種特殊形式,遞歸過程必須有“歸點”,也就是終止調用本身的一個分支
成都創(chuàng)新互聯(lián)公司是一家專注于成都網站制作、成都網站建設與策劃設計,鐵東網站建設哪家好?成都創(chuàng)新互聯(lián)公司做網站,專注于網站建設10年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:鐵東等地區(qū)。鐵東做網站價格咨詢:18980820575
嵌套是指一個過程調用另一個過程的使用,遞歸過程是這個過程中調用本過程的使用。遞歸是嵌套的一種特殊形式,遞歸過程必須有“歸點”,也就是終止調用本身的一個分支
給你個例子希望可以幫到你
遞歸系統(tǒng)目錄結構.
遞歸整個C盤目錄:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iDir As IO.Directory
Dim node As New TreeNode
'先把C盤添加到樹中
TreeView1.Nodes.Clear()
node.ImageIndex = 0
node.Text = "本地磁盤 C:"
node.SelectedImageIndex = -1
TreeView1.Nodes.Add(node)
Dim i As Integer
'獲取C:盤根目錄下的文件夾
Dim str() As String = IO.Directory.GetDirectories("D:\")
For i = 0 To str.GetUpperBound(0)
'調用遍歷過程
AddDirectory("C:", str(i), node)
Next
node = Nothing
iDir = Nothing
End Sub
Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)
Dim iDir As IO.Directory
'Dim iDirInfo As IO.DirectoryInfo
Dim i As Integer
Dim node As New TreeNode
'先添加本目錄,從文件夾路徑分析出文件夾名稱
node.Text = Strings.Replace(strPath, strFatherPath "\", "", , 1)
'為單個節(jié)點指定節(jié)點未被選中時顯示的圖標
node.ImageIndex = 1
'為單個節(jié)點指定節(jié)點被選中時顯示的圖標
node.SelectedImageIndex = 2
nodeFather.Nodes.Add(node)
Application.DoEvents()
Try
Dim str() As String = IO.Directory.GetDirectories(strPath)
'遍歷該目錄的子文件夾
For i = 0 To str.GetUpperBound(0)
AddDirectory(strPath, str(i), node)
Next
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
node = Nothing
iDir = Nothing
End Sub
這種不要用遞歸,知道關鍵字長度,知道節(jié)數(shù)用判斷就可以了,取前3位第一節(jié),第二節(jié)取3個為父節(jié)點,取全部為第二節(jié)關鍵字,第三節(jié)取前6個為父節(jié)點,取全部為第三節(jié)關鍵字.
并沒有要求培養(yǎng)字段,查詢時從len(ID)=3*N,每次循環(huán)時N都+1
select * from tablename where len(id)=3
select case N
case 1
treeview.node.add id,name
case 2
treeview.node(left(id,3)).node.add id,name
case 3
treeview.node(left(id,3)).node(left(id,6)).add id,name
end select
查詢結果排個升序就不會存在這樣的問題了,你剛才說的那種,如果中間沒有比001001001001001更短的關鍵字,那么就脫節(jié),這種是不可能添加到treeview中.
遞歸一般用在不知道節(jié)數(shù),沒有關鍵字的情況,比如系統(tǒng)目錄結構.
遞歸整個C盤目錄:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iDir As IO.Directory
Dim node As New TreeNode
'先把C盤添加到樹中
TreeView1.Nodes.Clear()
node.ImageIndex = 0
node.Text = "本地磁盤 C:"
node.SelectedImageIndex = -1
TreeView1.Nodes.Add(node)
Dim i As Integer
'獲取C:盤根目錄下的文件夾
Dim str() As String = IO.Directory.GetDirectories("D:\")
For i = 0 To str.GetUpperBound(0)
'調用遍歷過程
AddDirectory("C:", str(i), node)
Next
node = Nothing
iDir = Nothing
End Sub
Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)
Dim iDir As IO.Directory
'Dim iDirInfo As IO.DirectoryInfo
Dim i As Integer
Dim node As New TreeNode
'先添加本目錄,從文件夾路徑分析出文件夾名稱
node.Text = Strings.Replace(strPath, strFatherPath "\", "", , 1)
'為單個節(jié)點指定節(jié)點未被選中時顯示的圖標
node.ImageIndex = 1
'為單個節(jié)點指定節(jié)點被選中時顯示的圖標
node.SelectedImageIndex = 2
nodeFather.Nodes.Add(node)
Application.DoEvents()
Try
Dim str() As String = IO.Directory.GetDirectories(strPath)
'遍歷該目錄的子文件夾
For i = 0 To str.GetUpperBound(0)
AddDirectory(strPath, str(i), node)
Next
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
node = Nothing
iDir = Nothing
End Sub
新聞名稱:VB.net可以遞歸嗎 vbnet foreach
分享地址:http://jinyejixie.com/article28/dopsejp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站維護、網站收錄、定制網站、企業(yè)網站制作、、微信公眾號
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)