Split()方法的解释

时间:2013-08-07 06:38:23

标签: c#

我正在从SQL Server实现文件上载/下载。代码工作正常。

我遇到了这段代码 - 有人可以解释一下这行是做什么的吗?

string[] strPath = strFile.Split(Convert.ToChar(@"\"));

我知道它正在分割一个字符串(strFile)......我认为分隔符是'\'。但是为什么声明字符串数组string[] strPath?为什么(Convert.ToChar())被使用?

亲切的问候。

4 个答案:

答案 0 :(得分:12)

Convert.ToChar(@"\")也可能是'\\'。第一个斜线是逃避第二个。 @'\'不适用于字符。 '\'转义第二个引号,而不是关闭char定义。 Convert.ToChar(@"\")是一种冗长的写作方式。 声明了一个string[]数组,因为如果使用分隔符拆分字符串,则可以返回多个字符串(如果找到了分隔符)。每个分裂的部分都是一个单独的字符串。

答案 1 :(得分:2)

@Rehan Mehdi这里的字符串数组声明,因为当你拆分一个字符串时,它意味着你要创建该字符串的一部分,存储不同的2字符串部分你需要不同的2空格字符串数组提供。并转换.ToChar ()表示你尝试将参数转换为char。

答案 2 :(得分:0)

  1. 因为strFile.Split()的结果是一个不止一次的字符串数组。使用(Convert.ToChar())是因为没有重载接受(仅)一个字符串,但有char的param数组。在ssilas777的回答中查看MSDN链接。

答案 3 :(得分:-1)

检查MSDN For String.Split

Split方法返回一个包含子字符串的字符串数组,因此string数组被声明,Split方法期望params char[]作为参数(seperator),所以{{ 1}} 使用。

在这种情况下,'\'作为分隔符也应该有效。