INPUT
67 89 (in single line)
I have to input two numbers from console , and store in two different integers variable . HOw to do it.
INPUT
67 89 (in single line)
I have to input two numbers from console , and store in two different integers variable . HOw to do it.
This will read a line from the console, split the string, parse the integers, and output a list. You can then take each number from the list as needed.
Console.ReadLine().Split().Select(s => int.Parse(s)).ToList()
If there will always be two numbers you can do it as follows:
var integers = Console.ReadLine().Split().Select(s => int.Parse(s)).ToArray();
int first = integers[0];
int second = integers[1];
Areas for improvement:
You might want to use TryParse instead of Parse and output a friendly error message if the input does not parse
If you require exactly 2 numbers (no more, no less) you might want to check the length of integers
and output a friendly error message if <> 2
TryParse()
example as requested:
var numbers = new List<int>();
foreach (string s in Console.ReadLine().Split())
{
if (int.TryParse(s, out int number))
numbers.Add(number);
else
Console.WriteLine($"{s} is not an integer");
}
using System;
public class Program
{
static void Main(string[] args)
{
var numbers = Console.ReadLine();
var numberList = numbers.Split(' ');
var number1 = Convert.ToInt32(numberList[0]);
var number2 = Convert.ToInt32(numberList[1]);
Console.WriteLine(number1 + number2);
Console.ReadKey();
}
}
If you executing from other program the you need to read from the args
var result = Console.ReadLine().Split(new [] { ' '});
Something along those lines, top of my head.
See the documentation for Console.ReadLine() and String.Split()
Using Linq you can then project into an int array:
var result = Console.ReadLine()
.Split(new[] { ' ' }) //Explicit separator char(s)
.Select(i => int.Parse(i))
.ToArray();
And even a bit terser:
var result = Console.ReadLine()
.Split() //Assuming whitespace as separator
.Select(i => int.Parse(i))
.ToArray();
Result is now an array of ints.