Per scoprire come si presenta l'implementazione per qualsiasi parte del Framework, puoi fare una delle due cose:
- Puoi scaricare il codice sorgente di .NET Framework da qui o
- Puoi usare un decompilatore, come Telerik JustDecompile.
Quest'ultima scelta è di gran lunga la più semplice.
Ho scaricato e installato JustDecompile e caricato .NET Framework 3.5. Quindi ho aperto mscorlib.dll (dove si trova la classe String) e ho esaminato i metodi Split.
Senza entrare troppo nel dettaglio, c'è un'istruzione if
che controlla l'enumerazione StringSplitOptions
ed esegue uno di due metodi diversi a seconda dell'impostazione StringSplitOptions
specificata. I due metodi sono chiamati InternalSplitKeepEmptyEntries
e InternalSplitOmitEmptyEntries
. Sono praticamente due implementazioni completamente diverse.