【发布时间】:2021-12-10 17:39:09
【问题描述】:
我可以知道为什么我们需要在第一个示例中使用int.Parse 而不是第二个示例吗?
第一个例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Test
{
public class Program
{
public static void Main(string[] args)
{
string name = Console.ReadLine();
int age= int.Parse(Console.ReadLine());
Console.WriteLine("Name:"+ name);
Console.WriteLine("Age:"+ age);
}
}
}
第二个例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Test
{
public class Program
{
public static void Main(string[] args)
{
int age = 20;
Console.Write(age);
}
}
}
【问题讨论】:
-
在第一个例子中,
Console.ReadLine()是一个字符串。在第二个例子中,20已经是一个 int,所以你不需要解析它。如果它是"20"而不是20,则需要解析它 -
注意:一般来说,在处理用户输入时,您应该更喜欢
TryParse而不是Parse- 因为用户经常给出无法被合理解析为整数的输入. -
如果你只是写到控制台,你也不需要使用
int.Parse。 -
此外,如果您有这样的代码行:
int age="20";这将导致编译错误,因为您无法将 string 分配给 int。所以要修复它你需要做int age = int.Parse("20"); -
@JohnathanBarclay A,谢谢。这就是我真正的意思。总是混淆两者。