结构练习的问题

时间:2011-06-27 20:38:34

标签: c#

我目前正在学习结构,所以我有以下练习: 设置一个名为“日期”的结构,其中包含日期,包括:年,月和日。此外,定义一个名为Phone的类,其中包含姓名,编号,出生日期和地址。您需要创建一个包含Phone类型对象的数组,并按名称,编号和日期对它们进行排序。 好吧,这就是代码:

  struct Date
{
    int year, month, day;
    public Date(int year, int month, int day)
    {
        this.year = year;
        this.month = month;
        this.day = day;
    }
    public int Year
    {
        get { return year; }
        set {year = value; }
    }
    public int Month
    {
        get { return month; }
        set { month = value; }
    }
    public int Day
    {
        get { return day; }
        set { day = value; }
    }
}
    class Phone
{
    string number;
    string adress; 
    string name;
    Date birthday = new Date(); 
    public Phone(string number,Date birthday, string adress, string name)
    {
        this.number = number;
        this.birthday = birthday;
        this.adress = adress;
        this.name = name;
    }

}
class Program
{
    static void Main(string[] args)
    {
        Phone[] p = new Phone[3];
        p[0] = new Phone(1072548,
     }
}

我没有错误,但问题是我不知道如何从“Date”结构中获取生日,这就是我停止输入信息的原因。 感谢。

2 个答案:

答案 0 :(得分:2)

p[0] = new Phone(1072548,
   new Date (1999, 12, 31),
   "Central Park, NY", "Sam Party")

可能将此添加到Date结构中:

public DateTime ToDateTime ()
{
   return new DateTime (Year, Month, Day);
}

然后,您可以像这样对数组进行排序:

array.OrderBy (p => p.BirthDate.ToDateTime ());

答案 1 :(得分:0)

struct Date
{
    Date()
    {
       //code
    }
}

class Phone
{
    Phone(string "someParametr")
    {
      //code
    }
}

你需要两个承包商。