2013-05-18 50 views
0

我想做到以下幾點,但我得到這個從類型隱式轉換的char []字符串是不可能

Error: an Implicit conversion from type Char[] to string is not possible.

string Pattern2 = (Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm")).ToArray(); 

沒有任何人有關於如何處理這個任何想法?

+0

刪除'.ToArray()'調用。它應該做什麼?實際上,你正在調用一個'.ToString()'方法,並且你想分配給一個'string'。我無法想象如何額外的'.ToArray()'看起來「確定」給任何人。 – Jon

+0

嗯,也許到初學者:) 你是什麼意思與「ToString(),你想分配給一個字符串」 我應該使它與大S的字符串? – gbbb

+0

@gbbb:'string'和'System.String'是別名;沒有區別。 –

回答

5

刪除.ToArray()

string Pattern2 = Convert.ToDateTime(currMail.CreationTime).ToString("dd-MMM-yyyy HH-mm"); 
+0

老兄,你最好的,謝謝 – gbbb

+0

你有什麼想法爲什麼@Soner Gonul告訴我,我做錯了什麼,因爲我將ToString()分配給一個字符串? – gbbb

+0

@gbb - 他建議你像我一樣去掉'.ToArray'。簡而言之,您將'CreationTime'轉換爲'DateTime'對象,然後將其解析爲'string' - 這很好,因爲'Pattern2'的類型是'string',所以不需要調用'.ToArray( )'。 –

1

看起來你並不需要使用.ToArray()方法在所有。您已使用.ToString()方法分配您的Pattern2變量。

只是用作;

string Pattern2 = Convert.ToDateTime(currMail.CreationTime).ToString("dd-MMM-yyyy HH-mm"); 
1
string Pattern2 = Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm"); 
1

分配一個char []爲一個字符串,這需要從一個字符串炭[]轉換。正如錯誤所說,這不是隱含地完成的,即在幕後。這樣做是爲了防止愚蠢的錯誤。

您需要進行顯式轉換(從數組中創建一個字符串,然後賦值)。

在你的情況下,你有一個字符串,並將其轉換爲數組,然後將其分配給Pattern2。只是不要將字符串轉換爲數組。

string Pattern2 = (Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm")); 
4

至於其他的答案指出,你的電話ToArray不僅是不必要的,它是在這種情況下,主動對人體有害。你已經有了一個字符串,你需要一個字符串,所以不要將字符串轉換爲char數組;只需使用字符串。

但是,爲了您將來的參考,可能將char數組轉換爲字符串,而不是通過隱式或顯式轉換。對於語法是:

char[] characters = whatever; 
string str = new String(characters); 

最後,文件是在這裏:

http://msdn.microsoft.com/en-us/library/vstudio/s1wwdcbf.aspx

初學者應熟悉本文件;那裏有很多好東西。

相關問題