Daniel
Daniel

Reputation: 365

Reading a line with various variable types in C#

I am trying to read a line that consists of: 1 char and 2 integers.

My code looks like this:

char userHint = Convert.ToChar(Console.Read());
        
string[] v = Console.ReadLine().Split();

int a, b;

a = int.Parse(v[0]);
b = int.Parse(v[1]);

I recieve error System.FormatException: 'Input string was not in a correct format.'.

Sample input char : 'O' Sample input ints : 1 2

Upvotes: 0

Views: 253

Answers (2)

Daniel
Daniel

Reputation: 365

My problem can be solved by reading a char like so :

char userHint = Convert.ToChar(Console.ReadLine()[0]);

And then read the two integers :

string[] v = Console.ReadLine().Split();

int a, b;

a = int.Parse(v[0]);
b = int.Parse(v[1]);

Upvotes: 1

Rans
Rans

Reputation: 602

As I understand, you want to split your string and then convert the characters to integer.

This code does what you try to do.

char userHint = Convert.ToChar(Console.ReadLine());

char[] v = Console.ReadLine().ToCharArray();

 int a, b;

 a = Int32.Parse(v[0].ToString());
 b = Int32.Parse(v[1].ToString());

 Console.WriteLine("a: "+ a);
 Console.WriteLine("b: "+ b);

We use Console.ReadLine() so when we press enter the program can wait for the next input

Instead of string[] we use char[] because we split the input using ToCharArray().

And then parse.

Input:

3
78

Output:

a: 7
b: 8

Upvotes: 1

Related Questions