簡體   English   中英

從Char []類型到字符串的隱式轉換是不可能的

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM