tab*_*ula 11 c# numbers console-input
我有一个任务是在一行中读取给定的数字,用控制台的空格分隔.
当我在一个单独的行上读取每个数字时我知道怎么做(Console.ReadLine()但是当数字在同一行时我需要帮助.
Tim*_*ter 19
你可以用String.Split.您可以提供要用于将字符串拆分为多个字符的字符.如果你没有提供所有的空格都被假定为分裂字符(所以新行,制表符等):
string[] tokens = line.Split(); // all spaces, tab- and newline characters are used
Run Code Online (Sandbox Code Playgroud)
或者,如果您只想使用空格作为分隔符:
string[] tokens = line.Split(' ');
Run Code Online (Sandbox Code Playgroud)
如果要解析它们,int可以使用Array.ConvertAll():
int[] numbers = Array.ConvertAll(tokens, int.Parse); // fails if the format is invalid
Run Code Online (Sandbox Code Playgroud)
如果要检查格式是否有效使用int.TryParse.
您可以使用String.Split()以下方式拆分线:
var line = Console.ReadLine();
var numbers = line.Split(' ');
foreach(var number in numbers)
{
int num;
if (Int32.TryParse(number, out num))
{
// num is your number as integer
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用的LINQ到读取行再拆,最后每个项目转换为整数:
int[] numbers = Console
.ReadLine()
.Split(new Char[] {' '}, StringSplitOptions.RemoveEmptyEntries)
.Select(item => int.Parse(item))
.ToArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30984 次 |
| 最近记录: |