[英]Implicit conversion from type Char[] to string is not possible
我想執行以下操作,但我明白了
錯誤:從Char []類型到字符串的隱式轉換是不可能的。
string Pattern2 = (Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm")).ToArray();
有人對如何處理有任何想法嗎?
刪除.ToArray()
:
string Pattern2 = Convert.ToDateTime(currMail.CreationTime).ToString("dd-MMM-yyyy HH-mm");
正如其他答案所指出的那樣,您對ToArray
的調用不僅是不必要的,而且在這種情況下也是有害的。 您已經有了一個字符串,需要一個字符串,因此請不要將字符串轉換為char數組; 只需使用字符串。
然而,以備將來參考, 可以字符數組轉換為字符串,只要不是通過隱性或顯性的轉換。 其語法為:
char[] characters = whatever;
string str = new String(characters);
最后,文檔在這里:
http://msdn.microsoft.com/zh-CN/library/vstudio/s1wwdcbf.aspx
初學者應熟悉此文檔; 那里有很多好東西。
看起來您根本不需要使用.ToArray()
方法。 您已經使用.ToString()
方法分配給Pattern2
變量。
只是用作;
string Pattern2 = Convert.ToDateTime(currMail.CreationTime).ToString("dd-MMM-yyyy HH-mm");
string Pattern2 = Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm");
您將char []分配給字符串,這需要從char []轉換為字符串。 如錯誤所述,這不是隱式完成的,即在幕后進行。 這樣做是為了防止愚蠢的錯誤。
您應該進行顯式轉換(從數組創建一個字符串,然后分配它)。
在您的情況下,您有一個字符串並將其轉換為數組,然后再將其分配給Pattern2。 只是不要將字符串轉換為數組。
string Pattern2 = (Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.