Ci sono motivi validi per cui non esiste un sovraccarico di String.Split
che accetta una stringa delimitatore e un testo da dividere?Perché non c'è un sovraccarico di stringa.Split (stringa)?
string[] Split(string delimiter)
che potrebbe poi essere usato come
string input = "This - is - an - example";
string[] splitted = input.Split(" - ");
// results in:
// { "This", "is", "an", "example" }
so davvero, che posso creare un metodo di estensione facilmente, ma ci deve essere valida ragione per cui questo non è stato aggiunto.
Si noti che non sto cercando una soluzione su come suddividere una stringa utilizzando un delimitatore di stringhe, sono piuttosto alla ricerca di una spiegazione, perché un tale sovraccarico potrebbe causare problemi. Questo perché non penso che causerebbe davvero problemi e trovo davvero difficile per i principianti capire perché dobbiamo passare un effettivo string[]
invece di un semplice string
come delimitatore.
immagino c'è un numero qualsiasi di metodi apparentemente semplici che potrebbero essere aggiunti, ma è per questo che è possibile aggiungere i propri tramite i metodi di estensione, come si fa notare. – glosrob
Come puoi vedere dalle risposte, è improbabile che tu possa rispondere a questa domanda. La mia * ipotesi * è che ha qualcosa a che fare con uno studio di usabilità in cui i soggetti del test si sono messi nei guai in qualche modo, probabilmente a causa del non aver affrontato il sovraccarico Char vs String correttamente. Solo i progettisti di framework .NET possono rispondere con precisione, non pubblicano qui. –
@HansPassant Ho contattato [Eric Lippert] (http://stackoverflow.com/users/88656/eric-lippert) riguardo a questo, speriamo che possa fornire ulteriori approfondimenti. – GameScripting