从控制台读取空格后的变量

时间:2020-07-28 19:52:52

标签: c#

您好,我正在寻求有关从控制台读取变量的帮助,该控制台在c#中像在c ++中那样在变量输入之间有空格分隔符。

c ++代码示例:

    #include <iostream>

    using namespace std;

    int main(int argc, char** argv) {
    int n,k;
    cin>>n>>k;
    return 0;
    }

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

static void Main(string[] args)
{
    int n, k;
    var input = Console.ReadLine().Split(' ');
    int.TryParse(input[0], out n);
    if (input.Length > 1) int.TryParse(input[1], out k);
}

这将用空格字符分隔输入,尝试将前两个解析为int,然后将它们的值分别放在nk中。如果两者都不是整数,则与C ++中一样,相应变量的值将为零。


要使其更具动态性并接受两个以上的数字,可以改用数组。这是一个示例:

var input = Console.ReadLine().Split(' ');

int[] numbers = input.Select(s =>
{
    int n;
    int.TryParse(s, out n);
    return n;
})
.ToArray();

// Or a one-liner:
//int[] numbers = input.Select(s => (int.TryParse(s, out int n) ? n : 0)).ToArray();