【问题标题】:Implicit conversion from type Char[] to string is not possible无法从 Char[] 类型隐式转换为字符串
【发布时间】:2013-05-13 12:20:29
【问题描述】:

我想做以下事情,但我明白了

错误:从 Char[] 类型到字符串的隐式转换不是 可能。

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

有人知道如何处理这个问题吗?

【问题讨论】:

  • 删除.ToArray() 调用。它应该做什么?实际上,您正在调用一个方法.ToString(),并且您想分配给string。我无法想象额外的.ToArray() 对任何人来说都是“OK”的。
  • 嗯,也许是初学者 :) “ToString() 并且你想分配给一个字符串”是什么意思,我应该把它变成一个带有大 S 的字符串吗?
  • @gbbb: stringSystem.String 是别名;没有区别。

标签: c# string char type-conversion


【解决方案1】:

正如其他答案所指出的,您致电 ToArray 不仅没有必要,而且在这种情况下是有害的。你手头已经有一个字符串,你需要一个字符串,所以不要把字符串转换成char数组;只需使用字符串。

但是,为了您将来的参考,可以将 char 数组转换为字符串,而不是通过隐式或显式转换。其语法是:

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

最后,文档在这里:

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

初学者应熟悉本文档;里面有很多好东西。

【讨论】:

    【解决方案2】:

    您将 char[] 分配给字符串,这需要将 char[] 转换为字符串。正如错误所说,这不是隐式完成的,即在幕后。这样做是为了防止愚蠢的错误。

    您应该进行显式转换(从数组创建一个字符串,然后分配它)。

    在您的情况下,您有一个字符串并将其转换为数组,然后再将其分配给 Pattern2。只是不要将字符串转换为数组。

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

    【讨论】:

      【解决方案3】:
       string Pattern2 = Convert.ToDateTime(currMail.CreationTime).ToString(" dd-MMM-yyyy HH-mm");
      

      【讨论】:

        【解决方案4】:

        看起来您根本不需要使用.ToArray() 方法。您已经使用 .ToString() 方法分配给您的 Pattern2 变量。

        只用作;

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

        【讨论】:

          【解决方案5】:

          删除.ToArray()

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

          【讨论】:

          • 你知道为什么@Soner Gonul 告诉我我做错了什么,因为我将 ToString() 分配给一个字符串?
          • @gbb - 他建议你像我一样删除.ToArray。简而言之,您将CreationTime 转换为DateTime 对象,然后将其解析为string - 这很好,因为Pattern2 的类型为string,无需调用.ToArray()
          猜你喜欢
          • 2014-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-09
          • 2014-05-15
          • 2011-05-28
          相关资源
          最近更新 更多