我正在从SQL Server实现文件上载/下载。代码工作正常。
我遇到了这段代码 - 有人可以解释一下这行是做什么的吗?
string[] strPath = strFile.Split(Convert.ToChar(@"\"));
我知道它正在分割一个字符串(strFile
)......我认为分隔符是'\
'。但是为什么声明字符串数组string[] strPath
?为什么(Convert.ToChar())
被使用?
亲切的问候。
答案 0 :(得分:12)
Convert.ToChar(@"\")
也可能是'\\'
。第一个斜线是逃避第二个。 @'\'
不适用于字符。 '\'
转义第二个引号,而不是关闭char定义。 Convert.ToChar(@"\")
是一种冗长的写作方式。
声明了一个string[]
数组,因为如果使用分隔符拆分字符串,则可以返回多个字符串(如果找到了分隔符)。每个分裂的部分都是一个单独的字符串。
答案 1 :(得分:2)
@Rehan Mehdi这里的字符串数组声明,因为当你拆分一个字符串时,它意味着你要创建该字符串的一部分,存储不同的2字符串部分你需要不同的2空格字符串数组提供。并转换.ToChar ()表示你尝试将参数转换为char。
答案 2 :(得分:0)
(Convert.ToChar())
是因为没有重载接受(仅)一个字符串,但有char的param数组。在ssilas777的回答中查看MSDN链接。答案 3 :(得分:-1)
检查MSDN For String.Split
Split
方法返回一个包含子字符串的字符串数组,因此string
数组被声明,Split
方法期望params char[]
作为参数(seperator),所以{{ 1}}
使用。
在这种情况下,'\'作为分隔符也应该有效。