namespace MinZheng
{
class Program
{
static void Main(string[] args)
{
//创建对象1,赋值
Person person = new Person("张三",25,XingBie.男,false,null);
//创建对象2,赋值
Person person1 = new Person("柳儿",22,XingBie.女,false,null);
//定义一个变量接收输出参数
string re;
//接收方法的返回值
bool b = person.Marry(person1, out re);
//判断返回值
if(b)
{ //true执行
Console.WriteLine("恭喜结婚!新郎是:{0},新娘是:{1}",person.Name, person.BanLv.Name);
Console.WriteLine("{0}的伴侣是:{1}",person.Name, person.BanLv.Name);
}
else //false执行
{Console.WriteLine("结婚失败,原因是:{0}",re); }
Console.ReadKey();
}
}
//定义一个枚举性别
public enum XingBie{男,女};
//定义一个类(人类)
public class Person
{
public string Name;//姓名
public int Age;//年龄
public XingBie XB;//性别
public bool HunFou;//婚否
public Person BanLv;//定义伴侣,定义Person类型的伴侣
//定义结婚方法
public bool Marry(Person p,out string m)//传入另一个人(结婚对象),给一个输出参数
{
m = string.Empty;
//开始判断结婚条件
if(this.Age < 22 ||p.Age < 22)
{
m = "年龄不否";
return false;
}
if (this.HunFou || p.HunFou)
{
m = "重婚";
return false;
}
if (this.XB == p.XB)
{
m = "同性";
return false;
}
//条件符合更新信息
this.BanLv == p;
p.BanLv == this;
this.HunFou == true;
p.HunFou == true;
return true;
}
//定义一个有参构造函数
public Person(string name, int age, XingBie xb, bool hunfon, Person banlv)
{
this.Name = name;
this.Age = age;
this.HunFon = hunfou;
this.XB = xb;
this.BanLv = banlv;
}
}
}