一,在msdn中我们能看到一下几种使用
二,我们先看看经常使用的,
我们先定义一个数组
string test = "1,2,,3,4,5,6,7";
第一种,结果大家都熟悉,就不解释了
var a1 = test.Split(','); //根据,分割 //var a = test.Split(',', StringSplitOptions.RemoveEmptyEntries); 没有这个将数组空值去掉写法
三,第二种使用
var a2 = test.Split(new char[] { '2', ',' }, 4); //根据2和,字符分割,最多只能分成四个字符创
结果如下:
这时我们就疑惑,这两个空的怎么来的呢?
1》我们根据截取字符串的第一个字符2来截取先,得到结果为:1,和,,3,4,5,6,7
2》再根据,来截取1,和,,3,4,5,6,7,得到结果就是,1,“”,“”和,3,4,5,6,7,
3》为什么是四个呢?原因是上面的4设置了截取字符的长度
四,第三种
var a3 = test.Split(new char[] { '2', ',' }, 4, StringSplitOptions.RemoveEmptyEntries); //根据2和,字符分割,将数组空值去掉,最多只能分成四个字符创
结果如下:
这时我们就疑惑,这两个不见了,字符3和4怎么截取出来了?
1》第二和第三种的区别就是多了这个空值的处理( StringSplitOptions.RemoveEmptyEntries),有空值排除,继续截取到设定的长度,默认为空值不处理
2》
五,第四种
var a4 = test.Split(new char[] { '2', ',' }, StringSplitOptions.RemoveEmptyEntries); //根据2和,字符分割,将数组空值去掉
结果如下:
1》第二和第四种差别就是字符截取长度的处理,默认全部截取出来
六,第五种
var a5 = test.Split(new string[] { "2,", "5," }, 4, StringSplitOptions.RemoveEmptyEntries); //根据2,和5,字符串分割,将数组空值去掉,最多只能分成四个字符创
结果如下:
七,第六种
var a6 = test.Split(new string[] { "2,", "5," }, StringSplitOptions.RemoveEmptyEntries); //根据2,和5,串分割,将数组空值去掉
结果如下:
1》第五和第六中结果一直原因是:截出来的长度就是三位
2》第五和第六和其他区别就是他们截取的是字符串,而其他的为字符