您好,我正在寻求有关从控制台读取变量的帮助,该控制台在c#中像在c ++中那样在变量输入之间有空格分隔符。
c ++代码示例:
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int n,k;
cin>>n>>k;
return 0;
}
答案 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
,然后将它们的值分别放在n
和k
中。如果两者都不是整数,则与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();