日期数组 returns 对象系统日期时间不是数组的实际值

Array of dates returns object System datetime not the actual value of the array

问题是我有一个函数调用 "GetDatesBetween" 它的作用是查看我的两个日期选择器 leave_s_dp 和 leave_e_dp 并获取它们之间的日期。然后我想把这个数组变成一个字符串,以便在我的 full_range 文本框中使用,但它总是 returns System.DateTime[]。任何帮助将不胜感激。

public:
List<DateTime> ^GetDatesBetween(DateTime startDate, DateTime endDate)
{
    List<DateTime> ^allDates = gcnew List<DateTime>();

    for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
    {
            allDates->Add(date.Date);
    }



    return allDates;

}


private: 
System::Void submit_button_Click(System::Object^  sender, System::EventArgs^  e) {
             array<DateTime> ^dates = GetDatesBetween(leave_s_dp->Value.Date, leave_e_dp->Value.Date)->ToArray();

             //array<DateTime> ^dates = GetDatesBetween(leave_s_dp->Value, leave_e_dp->Value)->ToArray();


             String ^ days_between = dates->ToString();




             full_range_text->Text = days_between;


}

您正在对数组调用 ToString()。那不符合您的预期。不清楚您做什么期望它做什么,但几乎可以肯定这不是您想要的。

您很可能想调用 string.Join,例如

dates_between = String::Join(", ", dates);

虽然这将只使用默认日期格式 - 这可能也不是您想要的。