【发布时间】:2012-02-02 11:04:48
【问题描述】:
我只是在研究如何反转字符串。我在 C# The Complete Reference Book 中找到了一个程序,但我无法理解它。请任何人解释一下它是如何工作的
节目在这里:
using System;
class RevStr
{
// Display a string backward.
public void DisplayRev(string str)
{
if(str.Length > 0)
DisplayRev(str.Substring(1, str.Length-1));
else
return;
Console.Write(str[0]);
}
}
class RevStrDemo
{
static void Main()
{
string s = "this is a test";
RevStr rsOb = new RevStr();
Console.WriteLine("Original string: " + s);
Console.Write("Reversed string: ");
rsOb.DisplayRev(s);
Console.WriteLine();
}
}
- 这个程序是如何工作的?
- 语句
rsOb.DisplayRev(s);是否为字符串中的每个字符调用DisplayRev(str.Substring(1, str.Length-1));?
【问题讨论】:
-
是递归的一个例子。大概这本书谈到了递归?
-
我们不会解释整个程序。请准确地告诉我们您不理解的地方。