如何阅读c#中的两个数字

时间:2014-12-21 12:03:22

标签: c#

INPUT

67 89(单行)

我必须从控制台输入两个数字,并存储在两个不同的整数变量中。 如果你愿意的话。

3 个答案:

答案 0 :(得分:3)

这将从控制台读取一行,拆分字符串,将组件解析为整数,并作为列表输出。然后,您可以根据需要从列表中获取每个项目。

Console.ReadLine().Split().Select(s => int.Parse(s)).ToList()

如果总有两个号码,你可以按如下方式进行:

var integers = Console.ReadLine().Split().Select(s => int.Parse(s)).ToArray();
int first = integers[0];
int second = integers[1];

需要改进的地方:

  • 您可能希望使用TryParse而不是Parse,如果输入无法解析,则输出友好的错误消息

  • 如果您只需要2个数字(不多也不少),您可能需要检查integers的长度并输出友好的错误消息,如果<> 2

答案 1 :(得分:3)

using System;
public class Program
{
    static void Main(string[] args)
    {
        var numbers = Console.ReadLine();
        var numberList = numbers.Split(' ');
        var number1 = Convert.ToInt32(numberList[0]);
        var number2 = Convert.ToInt32(numberList[1]);
        Console.WriteLine(number1 + number2);
        Console.ReadKey();
    }
}

如果您从其他程序执行,则需要从args中读取

答案 2 :(得分:2)

var result = Console.ReadLine().Split(new [] { ' '});

沿着这些方向的东西,我的头顶。

请参阅Console.ReadLine()String.Split()

的文档

使用Linq,您可以投影到一个int数组:

var result = Console.ReadLine()
                    .Split(new[] { ' ' })  //Explicit separator char(s)
                    .Select(i => int.Parse(i))
                    .ToArray();

甚至有点苛刻:

var result = Console.ReadLine()
                    .Split()  //Assuming whitespace as separator
                    .Select(i => int.Parse(i))
                    .ToArray();

结果现在是一个整数数组。