Jak w C# wprowadzić dane po spacji a nie od nowej linii?

0

Witam,
Mam pewną zagwozdkę odnośnie wprowadzania danych wejściowych po spacji a nie od nowej linii. W C++ można oczywiście zastosować konstrukcję cin>>a>>b jednak nie wiem jak taką samą operację wykonać w C#. Będę wdzięczny za ewentualne podpowiedzi lub wyjaśnienie.

5
var line = Console.ReadLine();
var numbers = line.Split(' ');
foreach(var number in numbers)
{
    int num;
    if (Int32.TryParse(number, out num))
    {
        // Tutaj to co chcesz zrobic ze swoja liczba
    }
} 

albo tak

 int[] numbers = Console.ReadLine()
        .Split(new Char[] {' '}, StringSplitOptions.RemoveEmptyEntries)
        .Select(item => int.Parse(item))
        .ToArray(); 
1

Można to jeszcze zapisać w ten sposób:

string[] q_temp = Console.ReadLine().Split(' ');
int[] q = Array.ConvertAll(q_temp, Int32.Parse);
1
 int[] input = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); 
1

Ciekawostka:

W C# 7 zamiast pisać:

int x;
if(int.TryParse(Console.ReadLine(), out x) 
{
   // tutaj robimy coś z x
} 

Będzie można

if(int.TryParse(Console.ReadLine(), out var x)
{
   // tutaj robimy coś z x
} 

1 użytkowników online, w tym zalogowanych: 0, gości: 1