我有一个用户通过Console.ReadLine()输入的字符串,例如" 140 150 64 49" (仅用空格分隔)我想将这些数字添加到数组中。什么是最好的方法。我对编程有点新意,所以我有点迷失。谷歌也没有帮助。
答案 0 :(得分:0)
当你说你正在使用Console.ReadLine()时,我假设你使用C#。
你可以用这个:
int counter = 0;
int[] array = new int[200]; // choose some size
string s = Console.ReadLine();
int indexOfNextSpace;
while ((indexOfNextSpace = s.IndexOf(' ')) > -1)
{
int num = int.Parse(s.Substring(0, indexOfNextSpace));
array[counter] = num;
counter++;
s = s.Substring(indexOfNextSpace + 1);
}
如果您不确定有效输入,请尝试使用try \ catch,或使用int.TryParse而不是int.Parse。
答案 1 :(得分:0)
您可以使用:
List<int> ints = new List<int>();
int num;
int[] result = new int[] { };
string input = Console.ReadLine();
foreach (string str in input.Split(' '))
{
if (int.TryParse(str, out num))
{
ints.Add(num);
}
}
result = ints.ToArray();
foreach (int i in result)
{
Console.WriteLine(i);
}
它使用List然后将其转换为数组。请注意,项目已经过验证,因此只会添加整数。
这将产生以下输出:
123 456 dsf def 1
123
456
1