C# 无法隐式转换类型';字符串';至';字符[]和#x27;

C# 无法隐式转换类型';字符串';至';字符[]和#x27;,c#,c#-4.0,C#,C# 4.0,我有以下代码,但给出了一个错误“无法将类型'string'隐式转换为'char[]” char[]与字符串不同。如果要成为空数组,则: hTempFile = new char[0]; 或者简单地说(如果添加一些空检查): 在字符串上也有.tocharray(),但这似乎有些过分 坦白地说,对于文件名,听起来您实际上应该在这里使用string。您可以使用从string获取char数组……如果字符串像给定示例中一样为空,则返回的数组为空且长度为零 hTempFile = "".ToCharArr

我有以下代码,但给出了一个错误“无法将类型'string'隐式转换为'char[]”


char[]
字符串不同。如果要成为空数组,则:

hTempFile = new char[0];
或者简单地说(如果添加一些空检查):

字符串上也有
.tocharray()
,但这似乎有些过分

坦白地说,对于文件名,听起来您实际上应该在这里使用
string

您可以使用从string获取char数组……如果字符串像给定示例中一样为空,则返回的数组为空且长度为零

hTempFile = "".ToCharArray();

你想要实现什么?您已经将hTempFile定义为char[]类型


您无法将字符串值分配给hTempFile。

它看起来像是C风格的字符串初始化,在C中,最好避免对字符串使用char数组,而是使用string类

string hTempFile = string.Empty;

看起来您希望将hTempFile设置为空字符串,或者更具体地说,设置为空字符串的C字符串表示形式。如果是这样的话,你需要做的就是

hTempFile[0] = 0;

由于C字符串以null结尾,因此在数组的第一个字符中放置一个null字节会有效地清空字符串。

使用
hTempFile=“”,您想实现什么行?
string hTempFile = string.Empty;
hTempFile[0] = 0;