2

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

4

7 回答 7

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");
于 2013-04-04T11:04:38.857 回答
2

试试这个(确保他们输入有效的字符串):

int a = int.Parse(Console.ReadLine());

还有这个:

int a;
string input;
do
{
    input = Console.ReadLine();

} while (!int.TryParse(input, out a));
于 2013-04-04T11:03:11.430 回答
2

您可以将其与Int32.TryParse();

将数字的字符串表示形式转换为其等效的 32 位有符号整数。返回值指示转换是否成功。

int i;
bool b = Int32.TryParse(yourstring, out i);
于 2013-04-04T11:06:10.873 回答
1

您可以使用int.TryParse

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

TryParse 方法与 Parse 方法类似,只是 TryParse 方法在转换失败时不会抛出异常。它消除了在 s 无效且无法成功解析的情况下使用异常处理来测试 FormatException 的需要。参考

于 2013-04-04T11:05:08.750 回答
1

您可以使用Convert.ToInt32()

Convert.ToInt32(input);

TryParse()

bool success = Int32.TryParse(value, out number);
于 2013-04-04T11:05:13.357 回答
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");
于 2013-04-04T11:05:23.267 回答
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);
于 2013-04-04T11:11:22.027 回答