在C#中,如果我想将a分开string
,string
则必须执行以下操作:
testString.Split(new string[] { "anotherString" }, StringSplitOptions.None);
从过载的String.Split
MSDN文档中,我们可以看到实现以及为什么必须进行这样的调用。
来自Python,我很难正确理解为什么需要这样的调用。我的意思是我可以Regex.Split
用来获得与Python实现类似的语法,但是对于任何简单的事情,我都必须以降低性能(设置时间)为代价来实现。
因此,基本上,我的问题是,为什么我们不能做这样的事情:
testString.Split("anotherString");
请注意,我不建议任何原型或实现。我了解,考虑到当前的API,为什么您无法实现上述版本。我的目标是考虑到上述语法带来的好处,为什么要创建这样的API。到目前为止,灵活性似乎已成为当前潮流的目标String.Split
,但老实说,我确实认为在某种程度上可以提高性能。我想我错了。
testString.Split(",.;");
而testString.Split(new Char [] {',', '.', ';',);
那又是不一样的。
IEnumerable<char>
因此,您建议的其他原型在某些情况下可能会模棱两可(您是按整个字符串来界定还是按其每个字符来界定?)只是一个猜测。
testString.Split("anotherString");
,我很自信地说预期的行为是对整个字符串进行定界(anotherString
在这种情况下)。