我看過other posts,但它們大部分都在C#中。對於想要學習遞歸的人來說,在VB.Net中查看真實世界的工作示例可能會有幫助。如果有人只是在VB.Net中進行編程,那麼嘗試破譯和增加難度將會更加困難。我確實發現了this post,現在我明白了,但是如果有過VB.Net的例子,我可能已經能夠更快地找到它了。這就是我提出這個問題的部分原因:VB.Net中的遞歸函數示例
任何人都可以可以顯示VB.Net中的遞歸函數的一些簡單例子?
我看過other posts,但它們大部分都在C#中。對於想要學習遞歸的人來說,在VB.Net中查看真實世界的工作示例可能會有幫助。如果有人只是在VB.Net中進行編程,那麼嘗試破譯和增加難度將會更加困難。我確實發現了this post,現在我明白了,但是如果有過VB.Net的例子,我可能已經能夠更快地找到它了。這就是我提出這個問題的部分原因:VB.Net中的遞歸函數示例
任何人都可以可以顯示VB.Net中的遞歸函數的一些簡單例子?
這一個從wiki文章是偉大的
Sub walkTree(ByVal directory As IO.DirectoryInfo, ByVal pattern As String)
For Each file In directory.GetFiles(pattern)
Console.WriteLine(file.FullName)
Next
For Each subDir In directory.GetDirectories
walkTree(subDir, pattern)
Next
End Sub
看看MSDN文章 - Recursive Procedures (Visual Basic)。本文將幫助您理解遞歸的基礎知識。
請參考以下鏈接:
我在另一篇文章中看到了一條評論,並且想知道是否真的需要編寫一個遞歸函數爲了解決一個問題,迭代無法解決的問題是循環遍歷一個目錄或文件系統,並通過嵌套控件循環? –
@ kcbeard:不,那是不正確的。有很多情況下,遞歸是有用的(我現在正在處理的應用程序中可以考慮十幾個或更多)。例如,如果要處理以樹結構內部存儲的對象,則遞歸絕對是您的朋友。 –
@competent_tech:在Web應用程序的哪一點會有遞歸功能阻礙其性能。循環嵌套控件是正常的遞歸函數嗎? –
一個經典的
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Try
Label1.Text = Factorial(20).ToString("n0")
Catch ex As Exception
Debug.WriteLine("error")
End Try
End Sub
Function Factorial(ByVal number As Long) As Long
If number <= 1 Then
Return (1)
Else
Return number * Factorial(number - 1)
End If
End Function 'Factorial
在.NET 4.0中,你可以使用,而不是長期的BigInteger ...
這是一個遞歸例如從MSDN直接爲2012 VB.NET:
Function factorial(ByVal n As Integer) As Integer
If n <= 1 Then
Return 1
Else
Return factorial(n - 1) * n
End If
End Function
你可以嘗試通過將簡單的數學公式應用於正式的 方法來做遞歸方法 – 2013-04-03 02:34:26