Czy istnieją jakiekolwiek uzasadnione powody, dla których nie ma nadmiernego obciążenia String.Split
, które akceptuje ciąg ogranicznika i tekst do podziału?Dlaczego nie ma przeciążenia string.Split (string)?
string[] Split(string delimiter)
które mogą być następnie wykorzystane jak
string input = "This - is - an - example";
string[] splitted = input.Split(" - ");
// results in:
// { "This", "is", "an", "example" }
naprawdę wiem, że mogę łatwo utworzyć metody przedłużeniu, ale nie musi być ważny powód, dla którego nie został dodany.
Proszę zauważyć, że nie szukam rozwiązania, w jaki sposób podzielić ciąg za pomocą ogranicznika łańcucha, raczej szukam wyjaśnienia, dlaczego takie przeciążenie może powodować problemy. To dlatego, że nie sądzę, że to by naprawdę spowodowało problemy i naprawdę ciężko jest dla początkujących zrozumieć, dlaczego musimy przekazać rzeczywisty string[]
zamiast zwykłego string
jako ogranicznika.
to sobie wyobrazić istnieje wiele pozornie prostych metod, które można dodać, ale dlatego możesz dodać własne metody za pomocą rozszerzeń. – glosrob
Jak wynika z odpowiedzi, jest mało prawdopodobne, że otrzymasz odpowiedź na to pytanie. Moje * przypuszczenie * jest takie, że ma coś wspólnego ze studium użyteczności, w którym badani wpadli w jakiś kłopot, prawdopodobnie z powodu niewłaściwego radzenia sobie z przeciążeniem Char vs String. Tylko projektanci .NET mogą dokładnie odpowiedzieć na to pytanie, nie publikują tutaj. –
@HansPassant Skontaktowałem się z [Eric Lippertem] (http://stackoverflow.com/users/88656/eric-lippert) na ten temat, z nadzieją, że może on dostarczyć więcej informacji. – GameScripting