سؤال

عند إجراء تسلسل سلسلة لسلسلة موجودة في تجمع المتدربين، هل يتم إدخال سلسلة جديدة في تجمع المتدربين أم يتم إرجاع مرجع إلى السلسلة الموجودة في تجمع المتدربين؟وفقًا لهذه المقالة، هل سيقوم String.Concat وStringBuilder بإدراج مثيلات سلسلة جديدة في تجمع المتدربين؟

http://community.bartdesmet.net/blogs/bart/archive/2006/09/27/4472.aspx

هل يمكن لأي شخص أن يشرح كيفية عمل التسلسل مع تجمع المتدربين؟

هل كانت مفيدة؟

المحلول

إذا قمت بإنشاء سلاسل جديدة، فلن يتم وضعها تلقائيًا في تجمع المتدربين، إلا إذا قمت بتسلسل وقت ترجمة الثوابت، وفي هذه الحالة سيقوم المترجم بإنشاء نتيجة سلسلة واحدة وتدريبها كجزء من عملية JIT.

نصائح أخرى

يمكنك معرفة ما إذا كان قد تم احتجاز سلسلة ما عن طريق الاتصال String.IsInterned.سيعيد الاستدعاء سلسلة جديدة تكون إما مرجعًا إلى سلسلة داخلية تساوي السلسلة التي تم تمريرها كوسيطة، أو null إذا لم يتم احتجاز السلسلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top