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.
0
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
}