使用C#中的递归为一组变量赋值?

时间:2011-03-10 20:26:13

标签: c# recursion variable-assignment

如何在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());
}

感谢您的帮助。

2 个答案:

答案 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);
        }
    }
}