我有以下代码但是给出错误“无法将类型'字符串'隐式转换为'char []'”
char[] hTempFile = new char[300 + 1];
hTempFile ="";
答案 0 :(得分:5)
char[]
与string
不同。如果你打算成为一个空数组,那么:
hTempFile = new char[0];
或者简单地说(如果你添加一些空检查):
hTempFile = null;
.ToCharArray()
上还有string
,但这似乎有点矫枉过正。
坦率地说,对于文件名,听起来就像实际在这里使用string
一样。
答案 1 :(得分:2)
它看起来像是一个C风格的字符串初始化,在C#中最好避免使用字符串的char数组而是使用字符串类。
string hTempFile = string.Empty;
答案 2 :(得分:0)
您可以使用String.ToCharArray()从字符串中获取char数组....如果字符串为空,就像在给定示例中一样,返回的数组为空且长度为零....
hTempFile = "".ToCharArray();
答案 3 :(得分:0)
你想要达到什么目的?你已经将hTempFile定义为char []类型。
您无法为hTempFile指定字符串值。
答案 4 :(得分:0)
看起来您想将hTempFile设置为空字符串 - 或者更具体地说,是将空字符串的C字符串表示形式设置为空字符串。如果是这种情况,您需要做的就是
hTempFile[0] = 0;
由于C字符串以空值终止,因此在数组的第一个字符中放置一个空字节会有效地清空该字符串。