尝试分析属性的用户输入

本文关键字:用户 输入 分析属性 | 更新日期: 2023-09-27 18:30:55

简单的问题,我似乎找不到答案。从本质上讲,这个对象的此属性是一个Char,我需要TryParse它以确保当用户输入某些内容时它不会引发错误。我的老师没有教过我们getset(我想这就是它的名字?),所以我不得不使用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,就可以将所有逻辑放在那里,这就是OOP封装的美妙之处。