是否有任何合理的理由说明,为什么没有超过接受分隔符字符串和要分割的文本的String.Split
?为什么没有string.Split(string)超载?
string[] Split(string delimiter)
可能再像使用
string input = "This - is - an - example";
string[] splitted = input.Split(" - ");
// results in:
// { "This", "is", "an", "example" }
我真的知道,我可以轻松地创建一种推广方法,但必须有为什么这个尚未添加正当理由。
请注意,我没有找到如何使用字符串分隔符分割字符串的解决方案,我宁愿寻找解释,为什么这样的重载可能会导致问题。这是因为我不认为这真的会引起问题,我觉得初学者很难理解为什么我们必须通过一个实际的string[]
而不是简单的string
作为分隔符。
我会想象有许多看似简单的方法可以添加,但这就是为什么你可以通过扩展方法添加你自己的方法,正如你指出的那样。 – glosrob
正如你从答复中可以看出的那样,你不太可能得到这个问题的答案。我的猜测是它与可用性研究有关,测试对象以某种方式陷入困境,可能是因为没有正确处理Char和String超载。只有.NET框架设计师才能准确地回答它,他们不会在这里发布。 –
@HansPassant我已经联系了[Eric Lippert](http://stackoverflow.com/users/88656/eric-lippert)关于这个问题,他可以提供更多见解。 – GameScripting