class Person //I'm want to pass the parameter "Gender"
{
public string firstName;
public string lastName;
public int age;
//public string gender;
这是我正在使用的一段代码。我是编程的新手,我正在使用C#。我有一个名为“性别”的枚举,它由“男性”和“女性”组成。我有一个名为“Person”的类,我想传递一个参数告诉系统每个新的“人”必须有性别,男性或女性。我很确定我应该将参数传递给靠近班级的顶部附近。
答案 0 :(得分:2)
我想传递一个参数,告诉系统每个新的
Person
必须有性别
您可以通过构造函数强制执行该操作:
public class Person //I'm want to pass the parameter "Gender"
{
public string firstName;
public string lastName;
public int age;
public Gender gender; // recommend storing the enum instead of a string
public Person (Gender gender)
{
this.gender = gender;
}
}
使用参数实现构造函数会删除"默认"构造函数,因此创建Person
的任何人都必须提供性别。
我还建议使用属性而不是字段,但那是一个单独的问题...
答案 1 :(得分:1)
首先,您可以轻松地为人类的性别添加一个性别类型的新成员(我假设,这是枚举的名称):
public Gender Gender;
由于你想强迫一个人在创建对象时必须具有特定的性别,你需要在类的构造函数中规定:
public Person(Gender PersonGender)
{
Gender = PersonGender;
}
所以你的班级会变成这样:
class Person
{
public string firstName;
public string lastName;
public int age;
public Gender Gender;
public Person(Gender PersonGender)
{
Gender = PersonGender;
}
}
请注意,在C#中,与C / C ++不同,在放置方法和成员的位置并不重要。只是让它们井井有条,便于阅读。
答案 2 :(得分:0)
class Person
{
public string firstName;
public string lastName;
public int age;
public Gender Gender;
}
有关C#中enum
类型的详细信息,请参阅MSDN。