【发布时间】:2020-02-16 11:37:29
【问题描述】:
我有一个使用方法创建的 Person 对象,在方法内部我使用构造函数创建对象。我对我的二传手中的性别进行了一些验证,但我看不出我是如何使用我的二传手的?
class Person
{
public string name;
public int age;
private string gender;
private static List<Person> Personlist = new List<Person>();
public Person(string _name, int _age, string _gender)
{
this.name = _name;
this.age = _age;
this.Gender = _gender;
}
public string Gender
{
get { return gender; }
set
{
//value = de doorgegeven data
if (value == "m" || value == "v")
{
gender = value;
}else
{
gender = "Error: not a valid gender!";
}
}
}
public static void addPerson(string name, int age, string _gender){
Personlist.Add(new Person(name, age, _gender));
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Geef de naam van de persoon: ");
var name = Console.ReadLine();
Console.WriteLine("Geef de leeftijd van de persoon: ");
var age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Geef het geslacht van de persoon [MOET 'v' OF 'm' ZIJN]: ");
var gender = Console.ReadLine();
Person.addPerson(name, age, gender);
Person.speek(name, age, gender);
}
}
【问题讨论】:
-
如果gender是一个枚举,你就不必验证它(或将属性设置为错误消息)。
标签: c# methods constructor setter