これがあなたのパフォーマンスに役立つかどうかは正確には言えません. 使用する文字列の数と、それらの文字列のインスタンスを作成する頻度によって異なります。通常、インターンは自動的に行われるため、文字列がインターンされているかどうかを明示的に確認すると、実際にはオーバーヘッドが増加し、パフォーマンスが低下する可能性があります。メモリ使用量に関しては、インターンされた文字列は間違いなく少ないメモリを使用できます。
文字列インターンを使用したい場合は、それを達成するためのより良い方法がいくつかあります。何よりもまず、パブリック文字列定数でいっぱいの静的クラスに要素名を貼り付けます。プログラムのソース コードに含まれる文字列リテラルは、確実かつ自動的にインターンされます。このような文字列は、アプリケーションが読み込まれるときにインターン プールに読み込まれます。コンパイル時のインターンの準備のために文字列を定数として定義できない場合は、完全な三項式 String.IsInterned(...) を実行するのではなく、単純にString.Intern(...)を呼び出しますか? ... : String.Intern(...). Intern メソッドは、文字列がインターンされているかどうかを自動的にチェックし、インターンされている場合はインターンされたバージョンを返し、そうでない場合はインターン プールに文字列を追加し、そうでない場合はそれを返します。自分で IsInterned を手動で確認する必要はありません。
繰り返しますが、文字列を手動でインターンすることでパフォーマンスが向上するかどうかはわかりません。定数を使用すると、最適な方法で自動的にインターンされます。これは、定期的に再利用される文字列のパフォーマンスとメモリ使用量を改善するための最良の方法です。正直なところ、手動インターンは避けて、コンパイラとランタイムに最適化を処理させることをお勧めします。