在C#中读取用户的值

时间:2015-04-25 17:32:29

标签: java c# input

如果用户在单独的行中输入数字,此代码可以正常工作 即 10 12 结果是:22

但是,当我尝试输入时会出现错误。 10 12

现在,我知道console.readline()读取整行,显然空间​​不是int,所以我得到了错误。但是,当我以前在C中编码时,有scanf函数,通过简单地指定用户期望的数据类型,可以针对这两种情况运行。另外,我认为JAVA scanner.nextInt()不会允许这样的麻烦。有没有简单的方法让c#以相同的方式读取由空格或行分隔的数据?这是我从未在编码比赛中使用过c#的唯一原因。我根本不懂如何解决这个问题。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test
{
 class Program
 {

    static void Main(string[] args)
    {
        int result=0,a, b;
        a = int.Parse(Console.ReadLine());
        b = int.Parse(Console.ReadLine());
        result = a + b;
        Console.WriteLine("The result is {0}", result);
        Console.ReadKey();
    }
 }
}

1 个答案:

答案 0 :(得分:0)

这是一个使用Regex

从字符串中提取数字的示例
            string input = "There are 4 numbers in this string: 40, 30, and 10.";
            // Split on one or more non-digit characters.
            string[] numbers = Regex.Split(input, @"\D+");
            foreach (string value in numbers)
            {
                if (!string.IsNullOrEmpty(value))
                {
                    int i = int.Parse(value);
                    Console.WriteLine("Number: {0}", i);
                }
            }
            Console.ReadKey();