不支持从Char[]类型隐式转换为字符串
本文关键字:转换 字符串 类型 Char 不支持 | 更新日期: 2023-09-27 18:14:08
我想做以下操作,但我得到了这个
错误:从Char[]类型到string类型的隐式转换不存在可能的。
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初学者应该熟悉这个文档;里面有很多好东西
看起来你根本不需要使用.ToArray()
方法。您已经使用.ToString()
方法来分配您的Pattern2
变量。
直接用as;
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"));