Присвоить значения группе переменных, используя рекурсию в C #? - PullRequest
0 голосов
/ 10 марта 2011

Как я могу присвоить значения группе переменных, используя рекурсию в 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 голосов
/ 11 марта 2011

Ваша проблема похожа на домашнюю работу, потому что в учебниках обычно используются такие ужасные вопросы для обучения рекурсии.

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);
        }
    }
}
0 голосов
/ 10 марта 2011

Если вы собираетесь использовать рекурсию, у вас должен быть какой-то локальный контекст, достаточный для выполнения любой работы, которую вы собираетесь выполнять в своей функции, и вы должны знать, когда и гдеостановитесь (и начните собирать свой стек).

Ваш пример выглядит (если вообще что-то) как цикл.

...