0

ユーザーに個々の番号を尋ねるのではなく、C# のコンソール アプリで一連の番号を区切るにはどうすればよいですか? たとえば、これを行う代わりに...

        double first, second, third, fourth;

        Console.Write("Please enter first digit: ");
        first = Convert.ToDouble(Console.ReadLine());
        Console.Write("Please enter second digit: ");
        second = Convert.ToDouble(Console.ReadLine());
        Console.Write("Please enter third digit: ");
        third = Convert.ToDouble(Console.ReadLine());
        Console.Write("Please enter fourth digit: ");
        fourth = Convert.ToDouble(Console.ReadLine());
4

3 に答える 3

5

ある種の区切り記号 (この例ではスペース) を使用して、一度にすべての数字を入力させることができます。

Console.Write("Please enter a bunch of digits separated by a space: ");
var allDigits = Console.ReadLine().Split(' ');
Double[] digits = allDigits.Select(d => Covert.ToDouble(d)).ToArray();

要件が制限されている場合4 inputsallDigitIEnumerable<string>.Take(4)

Console.Write("Please enter a bunch of digits separated by a space: ");
var allDigits = Console.ReadLine().Split(' ').Take(4);
Double[] digits = allDigits.Select(d => Covert.ToDouble(d)).ToArray();
于 2013-02-22T04:12:01.250 に答える
2

を利用するとarray、変数への読み取り/書き込み操作を高速化するのに役立ちます

    double[] numbers = new double[4];

    for (int i = 0; i < 4; i++)
    {
        Console.WriteLine("Enter {0} of 4 Number : ", i + 1);
        numbers[i] = Convert.ToDouble(Console.ReadLine());
    }

    // numbers[0] = first
    // numbers[1] = second
    // numbers[2] = third
    // numbers[3] = fourth

本当に 4 つの変数を使用したい場合は、これが最も短い方法です。

    double first, second, third, fourth;

    for (int i = 1; i <= 4; i++)
    {
        Console.WriteLine("Enter a number : ");
        double input = Convert.ToDouble(Console.ReadLine());
        switch (i)
        {

            case 1:
                first = input;
                break;

            case 2:
                second = input;
                break;

            case 3:
                third = input;
                break;
            case 4:
                fourth = input;
                break;

        }
    }
于 2013-02-22T04:11:18.820 に答える
1

1 つの方法を次に示します。

Console.Write("Please enter numbers, comma-separated: ");
var numbers = Console.ReadLine()
    .Split(',')
    .Select(x => Double.Parse(x.Trim()))
    .ToList();

ただし、実際のコードでは、使用TryParseしてユーザーにエラーを返す方がおそらく良いでしょう。

于 2013-02-22T04:12:14.993 に答える