我想做以下事情,但我明白了
错误:从 Char[] 类型到字符串的隐式转换是不可能的。
string Pattern2 = (Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm")).ToArray();
有没有人知道如何处理这个问题?
我想做以下事情,但我明白了
错误:从 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 数组转换为字符串,而不是通过隐式或显式转换。其语法是:
char[] characters = whatever;
string str = new String(characters);
最后,文档在这里:
http://msdn.microsoft.com/en-us/library/vstudio/s1wwdcbf.aspx
初学者应熟悉本文档;里面有很多好东西。
您将 char[] 分配给字符串,这需要将 char[] 转换为字符串。正如错误所说,这不是隐式完成的,即在幕后。这样做是为了防止愚蠢的错误。
您应该进行显式转换(从数组创建一个字符串,然后分配它)。
在您的情况下,您有一个字符串并将其转换为数组,然后再将其分配给 Pattern2。只是不要将字符串转换为数组。
string Pattern2 = (Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm"));
看起来你根本不需要使用.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");