在C#中将字符串输入更改为int

时间:2013-04-04 11:02:38

标签: c#

如何在C#代码中转换使用Console.ReadLine()函数获取的字符串输入???假设我创建了2个整数变量a和b。现在我想从用户那里获取a和b的值。如何在C#中执行?

7 个答案:

答案 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)

您可以使用Convert.ToInt32()

Convert.ToInt32(input);

TryParse()

bool success = Int32.TryParse(value, out number);

答案 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);