私はいくつかの記事を読みましたが、.NET における文字列インターンと文字列プーリングの違いはまだわかりませんでした。特に、それらのメカニズムが一緒に適用される場合。説明付きの例を挙げていただけますか?
質問する
290 次
2 に答える
1
文字列インターニングは CLI に組み込まれた機能で、同じ文字列が表示された場合に同じ文字列インスタンスを使用しやすくします。これはすべてのインスタンスに当てはまるわけではなく、次のstring
場合にのみ当てはまります。
ldstr
コードにリテラルが含まれている場合に使用される IL コマンドを介して作成された文字列- つまり、IL に焼き付けられ、 を介してロードされたリテラルは次のとおりConsole.WriteLine("abc")
です。"abc"
ldstr
string.Intern
メソッドを明示的に使用するコード
前後関係がないとわかりにくいのですが、「文字列プーリング」は単に「インターン」の同義語として使われているのではないかと強く思います。
コードは、たとえばDictionary<string,string>
. これは、特定のスコープで文字列を再利用するのに役立つ場合がありますが、アプリケーション全体のインターン プールを飽和させることはありません。そのようなデバイスはすべて、特注のアプリケーション固有のものです。
于 2013-09-26T09:33:28.250 に答える