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