[英]Separating user input numbers in C#
如何在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());
您可以让他们用某种分隔符(在本例中为空格)一次输入所有数字。
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 inputs
,则使用IEnumerable<string>.Take(4)
来限制allDigit
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();
利用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
如果您确实要使用四个变量,那么这可能是最短的方法:
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;
}
}
这是一种方法:
Console.Write("Please enter numbers, comma-separated: ");
var numbers = Console.ReadLine()
.Split(',')
.Select(x => Double.Parse(x.Trim()))
.ToList();
但是,在现实生活中的代码中,最好使用TryParse
并将错误返回给用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.