Ich könnte nicht wirklich genau sagen, ob dies Ihrer Leistung helfen würde oder nicht. Dies hängt davon ab, wie viele Zeichenfolgen Sie verwenden und wie häufig Sie Instanzen dieser Zeichenfolgen erstellen. Das Internieren erfolgt in der Regel automatisch. Wenn Sie also explizit überprüfen, ob die Zeichenfolge intern ist, erhöht sich möglicherweise Ihr Overhead und die Leistung wird verringert. Wenn es um die Speichernutzung geht, können internierte Strings definitiv weniger Speicher verbrauchen.
Wenn Sie String-Interning verwenden möchten, gibt es einige bessere Möglichkeiten, dies zu erreichen. In erster Linie würde ich Ihre Elementnamen in einer statischen Klasse voller öffentlicher String-Konstanten festhalten. Ein beliebiges Zeichenfolgenliteral, das in Ihrem Programmquellcode gefunden wird, wird definitiv und automatisch interniert. Solche Strings werden beim Laden Ihrer Anwendung in den internen Pool geladen. Wenn Ihre Zeichenfolgen nicht als Konstanten für Kompilierung interne Vorbereitung definiert werden können, dann würde ich einfach String.Intern (...) lieber als den vollständigen ternären Ausdruck String.IsInterned (...)? ...: String.Intern (...). Die Methode Intern prüft automatisch, ob die Zeichenfolge interniert ist, gibt die internierte Version zurück und fügt andernfalls die Zeichenfolge dem internen Pool hinzu und gibt diese zurück, wenn dies nicht der Fall ist. Sie müssen IsInterned nicht manuell überprüfen.
Auch hier kann ich nicht sagen, ob manuell internieren Saiten die Leistung verbessern wird. Wenn Sie Konstanten verwenden, werden sie automatisch auf optimale Weise für Sie interniert. Dies ist der beste Ansatz, um die Leistung und die Speichernutzung regelmäßig verwendeter Strings zu verbessern. Ich würde ehrlich empfehlen, dass Sie sich vom manuellen Internieren fernhalten und den Compiler und die Laufzeit die Optimierung für Sie übernehmen lassen.
Meine allgemeine Anregung dazu wäre - versuchen, sie es und messen, ob es einen Unterschied macht ... (Obwohl ich weiß, dass es nicht wirklich ist, was Sie nach ...) – Rashack
@Rashack Ich beabsichtige, um es zu testen, aber ich denke auch, dass es eine gültige Frage ist, und ich habe keine direkt damit verbundene Frage in Bezug auf Textanalyse, wie HTML oder XML-basierten Inhalt, gesehen. :) –