2016-01-13 62 views
0

問題的實際值是我有一個函數調用「GetDatesBetween」這樣做是着眼於我的兩個datepickers leave_s_dp和leave_e_dp並讓他們之間的日期。然後我想把這個數組在我full_range文本框中使用一個字符串,但它總是返回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; 


} 

回答

3

對數組調用ToString()。這不符合你的期望。目前尚不清楚你期望它做的事情,但它幾乎肯定不是你想要的。

你很可能要調用string.Join,例如

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

這將使用默認的日期格式,雖然 - 這可能不是你想要的。

+0

感謝您的建議,它仍然給我System.DateTime []。 @喬恩飛碟雙向 – Snowman288

+0

@ Snowman288:真的嗎?那麼'days_between'的文本是'System.DateTime []'?這似乎不太可能......你在使用什麼版本的.NET? –

+0

正確的語法是'System :: String :: Join'(你在靜態成員訪問中使用普通C++中的'::'運算符)。 –