VB.Net中的递归函数示例

时间:2011-11-18 02:16:06

标签: vb.net recursion

我见过other posts,但他们主要是在C#中。对于想要学习递归的人来说,在VB.Net中查看真实世界的工作示例可能会有所帮助。如果有人刚刚在VB.Net中弄湿了编程,那么尝试解密和convert C#会更加困难。我确实找到了我现在理解的this post,但是如果有一篇VB.Net示例的帖子,我可能能够更快地发现它。这也是我提出这个问题的部分原因:

任何人都可以在VB.Net中显示一些简单的递归函数示例吗?

4 个答案:

答案 0 :(得分:3)

查看MSDN文章 - Recursive Procedures (Visual Basic)。本文将帮助您了解递归的基础知识。

请参阅以下链接:

  1. Recursive function to read a directory structure
  2. Recursion, why it's cool.

答案 1 :(得分:3)

来自维基文章的这篇文章很棒

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

答案 2 :(得分:1)

其中一个经典

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而不是Long ...

答案 3 :(得分:0)

这是一个直接来自msdn for VB.NET 2012的递归示例:

Function factorial(ByVal n As Integer) As Integer
    If n <= 1 Then 
        Return 1
    Else 
        Return factorial(n - 1) * n
    End If 
End Function

Reference