Non potrei davvero dire esattamente se questo potrebbe aiutare la tua performance o meno. Dipenderà dal numero di stringhe che usi e dalla frequenza con cui crei le istanze di quelle stringhe. L'interning viene generalmente eseguito automaticamente, quindi controllare esplicitamente se la stringa è internata può effettivamente aumentare il sovraccarico e ridurre le prestazioni. Quando si parla di utilizzo della memoria, le stringhe internamente possono sicuramente utilizzare meno memoria.
Se si desidera utilizzare internamento stringa, ci sono alcuni modi migliori per raggiungerlo. Innanzitutto, vorrei incollare i nomi degli elementi in una classe statica piena di costanti di stringa pubbliche. Qualsiasi stringa letterale trovata nel codice sorgente del programma viene definitivamente e automaticamente internata. Tali stringhe vengono caricate nel pool interno quando viene caricata l'applicazione. Se le stringhe non possono essere definite come costanti per la preparazione dello stagista in fase di compilazione, chiamare semplicemente String.Intern (...) anziché eseguire l'intera espressione ternaria String.IsInterned (...)? ...: String.Intern (...). Il metodo Intern controlla automaticamente se la stringa è internata, restituisce la versione internata, se lo è, e altrimenti aggiungerà la stringa al pool interno e restituirà tale valore se non lo è. Non è necessario controllare manualmente IsInterned.
Ancora una volta, non posso dire se le stringhe di internamento manuale miglioreranno le prestazioni. Se si utilizzano le costanti, queste verranno automaticamente internate per te, nel modo più ottimale, e questo è l'approccio migliore per migliorare le prestazioni e l'utilizzo della memoria delle stringhe regolarmente riutilizzate. Consiglierei sinceramente di evitare l'internamento manuale e lasciare che il compilatore e il runtime gestiscano l'ottimizzazione per te.
Il mio suggerimento generico per questo sarebbe - provate voi stessi e misurare se fa alcuna differenza ... (anche se so che non è proprio quello che cercate ...) – Rashack
@Rashack intendo per testarlo, ma penso anche che sia una domanda valida, e non ho visto una domanda direttamente correlata riguardo l'analisi del testo, come il contenuto HTML o basato su XML. :) –