Odczytaj z konsoli liczby podane w jednej linii, oddzielone spacją

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();