如何在C#代码中转换使用Console.ReadLine()函数获取的字符串输入???假设我创建了2个整数变量a和b。现在我想从用户那里获取a和b的值。如何在C#中执行?
答案 0 :(得分:9)
我通常使用的另一个选项是int.TryParse
int retunedInt;
bool conversionSucceed = int.TryParse("your string", out retunedInt);
所以它非常适合容错模式,如:
if(!int.TryParse("your string", out retunedInt))
throw new FormatException("Not well formatted string");
答案 1 :(得分:2)
试试这个(确保他们输入有效的字符串):
int a = int.Parse(Console.ReadLine());
还有:
int a;
string input;
do
{
input = Console.ReadLine();
} while (!int.TryParse(input, out a));
答案 2 :(得分:2)
您可以将其与Int32.TryParse()
;
将数字的字符串表示形式转换为32位有符号 整数当量。返回值表示是否转换 成功了。
int i;
bool b = Int32.TryParse(yourstring, out i);
答案 3 :(得分:1)
您可以使用int.TryParse
int number;
bool result = Int32.TryParse(value, out number);
TryParse方法与Parse方法类似,但TryParse除外 如果转换失败,方法不会抛出异常。它 无需使用异常处理来测试 在s无效且不可能的情况下的FormatException 成功解析。 Reference
答案 4 :(得分:1)
答案 5 :(得分:1)
使用Int32.TryParse以避免在用户未键入整数
的情况下出现异常string userInput = Console.ReadLine();
int a;
if (Int32.TryParse(userInput, out a))
Console.WriteLine("You have typed an integer number");
else
Console.WriteLine("Your text is not an integer number");
答案 6 :(得分:0)
使用int.TryParse
之类的:
int a;
Console.WriteLine("Enter number: ");
while (!int.TryParse(Console.ReadLine(), out a))
{
Console.Write("\nEnter valid number (integer): ");
}
Console.WriteLine("The number entered: {0}", a);