TryParsing 属性的用户输入
TryParsing User Input for an Attribute
我似乎找不到答案的简单问题。本质上,这个对象的这个属性是一个 Char
,我需要 TryParse
它以确保当用户输入某些内容时它不会抛出错误。我的老师没有教过我们一个get
和set
(我想这就是所谓的?),所以我必须使用一个TryParse
。我还有一个双精度和一个整数,但这不是重点。我知道我必须从这个开始,我试着做
employee1._gender = char.TryParse(InputUtilities.GetStringCharValue("Gender: "), out employee1._gender);
它抛出一个布尔错误,这让我很困惑。我是 类 的新手,如果这是一个愚蠢的问题,我深表歉意。谢谢大家的帮助!
employee1._gender = InputUtilities.GetStringCharValue("Gender: ");
您非常接近,您只是将 TryParse 返回的错误代码与将成为函数调用目标的 out 参数混淆了。这是一个简单的示例,请注意提供的任何字符都将被视为有效(即 Q):
static void Main(string[] args)
{
Employee employee1 = new Employee();
Console.Write("Gender: ");
String userInput = Console.ReadLine();
if (char.TryParse(userInput, out employee1.gender))
Console.WriteLine("Ok, you specified: " + employee1.gender);
else
Console.WriteLine("Not valid character: " + userInput);
employee1.Print();
}
public class Employee {
public char gender = '?';
public void Print() {
Console.WriteLine("Gender is = " + gender);
}
}
一旦您了解 getter 和 setter 以进行 class 重构您的代码以将所有逻辑放在那里,这就是 OOP 封装的美妙之处。
我似乎找不到答案的简单问题。本质上,这个对象的这个属性是一个 Char
,我需要 TryParse
它以确保当用户输入某些内容时它不会抛出错误。我的老师没有教过我们一个get
和set
(我想这就是所谓的?),所以我必须使用一个TryParse
。我还有一个双精度和一个整数,但这不是重点。我知道我必须从这个开始,我试着做
employee1._gender = char.TryParse(InputUtilities.GetStringCharValue("Gender: "), out employee1._gender);
它抛出一个布尔错误,这让我很困惑。我是 类 的新手,如果这是一个愚蠢的问题,我深表歉意。谢谢大家的帮助!
employee1._gender = InputUtilities.GetStringCharValue("Gender: ");
您非常接近,您只是将 TryParse 返回的错误代码与将成为函数调用目标的 out 参数混淆了。这是一个简单的示例,请注意提供的任何字符都将被视为有效(即 Q):
static void Main(string[] args)
{
Employee employee1 = new Employee();
Console.Write("Gender: ");
String userInput = Console.ReadLine();
if (char.TryParse(userInput, out employee1.gender))
Console.WriteLine("Ok, you specified: " + employee1.gender);
else
Console.WriteLine("Not valid character: " + userInput);
employee1.Print();
}
public class Employee {
public char gender = '?';
public void Print() {
Console.WriteLine("Gender is = " + gender);
}
}
一旦您了解 getter 和 setter 以进行 class 重构您的代码以将所有逻辑放在那里,这就是 OOP 封装的美妙之处。