I am just beginning to learn C#. I am reading a book and one of the examples is this:
using System;
public class Example
{
public static void Main()
{
string myInput;
int myInt;
Console.Write("Please enter a number: ");
myInput = Console.ReadLine();
myInt = Int32.Parse(myInput);
Console.WriteLine(myInt);
Console.ReadLine();
}
}
When i run that and enter say ‘five’ and hit return, i get ‘input string not in correct format’ error. The thing i don’t understand is, i converted the string myInput to a number didn’t i? Microsoft says that In32.Parse ‘Converts the string representation of a number to its 32-bit signed integer equivalent.’ So how come it doesn’t work when i type the word five? It should be converted to an integer shouldn’t it… confused. Thanks for advice.
The words representing a number aren’t converted; it converts the characters that represent numbers into actual numbers.
“5” in a string is stored in memory as the ASCII (or unicode) character representation of a 5. The ASCII for a 5 is 0x35 (hex) or 53 (decimal). An integer with the value ‘5’ is stored in memory as an actual 5, i.e. 0101 binary.