Odczytaj z konsoli liczby podane w jednej linii, oddzielone spacją
Możesz użyć String.Split
. Możesz podać znaki, których chcesz użyć do podzielenia ciągu na wiele. Jeśli nie podasz żadnego, wszystkie spacje są przyjmowane jako znaki dzielone (czyli nowa linia, tabulator itp.):
string[] tokens = line.Split(); // all spaces, tab- and newline characters are used
lub jeśli chcesz używać tylko spacji jako separatora:
string[] tokens = line.Split(' ');
Jeśli chcesz je przeanalizować do int
możesz użyć Array.ConvertAll()
:
int[] numbers = Array.ConvertAll(tokens, int.Parse); // fails if the format is invalid
Jeśli chcesz sprawdzić, czy format jest prawidłowy, użyj int.TryParse
.
Możesz podzielić linię za pomocą 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
}
}
Możesz użyć Linq czytać linia następnie dzieli się i ostatecznie konwertuje każdy element na liczby całkowite:
int[] numbers = Console
.ReadLine()
.Split(new Char[] {' '}, StringSplitOptions.RemoveEmptyEntries)
.Select(item => int.Parse(item))
.ToArray();