如何在C#中使用递归为一组变量赋值?
我可以通过简单的程序轻松完成,但我不知道如何使用递归来完成它。
public void Assign()
{
Console.Write("Name: ");
Name = Console.ReadLine();
Console.Write("e-mail: ");
Email = Console.ReadLine();
Console.Write("Phone Number: ");
Phone = int.Parse(Console.ReadLine());
}
感谢您的帮助。
答案 0 :(得分:0)
如果你打算使用递归,那么你必须拥有某种本地环境,足以完成你在函数中要做的任何工作,并且你必须知道何时/何地停止(并开始弹出你的堆栈)。
你的例子看起来像(如果有的话)循环。
答案 1 :(得分:0)
你的问题似乎是家庭作业,因为教科书通常使用这种可怕的问题来教授递归。
namespace Homework
{
class Recursion
{
static string[] nameList = new string[5];
static void Main(string[] args)
{
AssignNames(0);
Console.WriteLine("The names are:");
foreach(string name in nameList)
{
Console.WriteLine(name);
}
Console.ReadKey();
}
static void AssignNames(int index)
{
if (index == nameList.Length) return;
Console.Write("Enter name #{0}: ", index + 1);
nameList[index] = Console.ReadLine();
AssignNames(index + 1);
}
}
}