Метод Intern
Метод Intern возвращает каноническую копию из пула. Литералы уже интернированы; для new string(...) помогает получить ту же ссылку, что у литерала.
Синтаксис
string res = string.Intern(str);
Пример
Давайте интернируем собранную строку:
using System;
class Program
{
static void Main()
{
string built = new string(new[] { 'a', 'b', 'c', 'd', 'e' });
string pooled = string.Intern(built);
Console.WriteLine(object.ReferenceEquals(pooled, "abcde"));
}
}
Результат выполнения кода:
True
Пример
До интернирования ссылки разные:
using System;
class Program
{
static void Main()
{
string built = new string(new[] { 'a', 'b', 'c', 'd', 'e' });
Console.WriteLine(object.ReferenceEquals(built, "abcde"));
}
}
Результат выполнения кода:
False
Смотрите также
-
operator ==,
который сравнивает текст -
Create,
который создаёт строку -
Concat,
который склеивает части -
String,
который хранит текст