C#参数1:无法从“字符串”转换为“字符”

时间:2018-11-21 13:29:07

标签: c#

我正在尝试将文件拉到在组合框项目中选择了所选路径的目录中。

我已经习惯了vb.net,在C#中进行拆分时,我收到以下错误消息:

  

参数1:无法从“字符串”转换为“字符”

我想获取所有文件,然后为每个文件将文件名添加到列表框中。

任何人都可以将我指向正确的方向,或者让我知道我在拆分时做错了什么。

代码如下:

private void cbLogFileLocations_SelectedIndexChanged(object sender, EventArgs e)
{
    string[] Files = Directory.GetFiles(cbLogFileLocations.SelectedItem.ToString());

    foreach (string file in Files)
    {
        string[] strSplittedFileName = file.Split(@"\");
    }
}

2 个答案:

答案 0 :(得分:1)

如果要分割字符,则需要使用单引号,因此请更改为:

//You have to escape the back slash or use the ampersand on the front
string[] strSplittedFileName = file.Split('\\');

或者,如果您想使用字符串分割:

//When splitting by a string, 
//you need to pass a string array and an Enum of StringSplitOptions
string[] strSplittedFileName = file.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);

答案 1 :(得分:0)

请将来确保在源代码中包括源代码:之所以会发生链接腐烂等,对于遇到与您相同的问题的人们总是非常有用。

在前面的答案中提到,在C#中使用char表示形式(字符串文字)将调用接受char的重载。

来自:mystring.Split(@"\") 收件人:mystring.Split('\\')

如果您尝试用新行分割,请使用:

Environment.NewLineChar