如何在c#中将变量声明为与方法返回的数据类型相同?

本文关键字:返回 方法 数据类型 声明 变量 | 更新日期: 2023-09-27 18:10:39

所以我完全不是c#的新手,我用尽了尝试这个的想法。我花了几个小时研究,但还没有找到解决办法。

我的问题是函数getUpcomingDates():我如何声明变量 myDates 作为与 getAllDates 方法返回相同的数据类型?

我尝试过的一种方法是:MyDate[] myDates = new getAllDates();,但我在getAllDates下面得到一条红线,说:'这是一个方法,但用作类型。'

正确的做法是什么?

[WebMethod]
private MyDate[] getAllDates()
{
    System.Collections.ArrayList myDates = new System.Collections.ArrayList();
    MyDate thisDate;

    thisDate = new MyDate(DateTime.Parse("9/1/2011"),
                          "Get classes ready", "Begin of fall semester");
    myDates.Add(thisDate);
    thisDate = new MyDate(DateTime.Parse("1/1/2011"),
                          "New Year", "Happy 2011!");
    myDates.Add(thisDate);
    thisDate = new MyDate(DateTime.Parse("12/16/2011"),
                          "BUS ADM 531 Final Exam", "See study guide on course Web pages");
    myDates.Add(thisDate);
    return (MyDate[])myDates.ToArray(typeof(MyDate));
}
[WebMethod]
private MyDate[] getUpcomingDates()
{
    MyDate[] myDates = new getAllDates();
    System.Collections.ArrayList upcomingDates = new System.Collections.ArrayList();

    foreach (MyDate thisDate in myDates)
    {
        if (thisDate.CalendarDate > DateTime.Now)
        {
            //date is upcoming, add to output list of dates
            upcomingDates.Add(thisDate);
        }
        else
        {
            //not an upcoming date, do not add to output list
        }
        return (MyDate[])upcomingDates.ToArray(typeof(MyDate));

如何在c#中将变量声明为与方法返回的数据类型相同?

要调用一个函数,您只需要(从行中删除new)

 MyDate[] myDates = getAllDates();