Если вы в игре часто использовали числа для вывода в пользовательском интерфейсе, то вы, наверное, заметили в профайлере (есть такая, да) аллокации, от которых вы не можете избавиться:

 текст = здоровье.ToString();

А ведь есть еще и всякие

 текст = $"{value}/{maxValue}";

На самом деле есть довольно простой способ избежать аллокаций в данном ключе, когда мы знаем конечное значение для результата:

если здоровье = 0..100, то можно занести массив и взять стоимость:

 текст = arr[здоровье];

или

 текст = arr[maxValue][значение];

Да, мы делаем небольшое подобное https://t.me/unsafecsharp/11, но мы не используем объединенные строки, т.к. у нас они уже созданы.

Читать далее  

Это общая статья блога, которую вы можете использовать для добавления контента / тем блога на ваш сайт. Вы можете отредактировать весь этот текст и заменить его всем, что вы хотите сказать в своем блоге.

В C# строки хранятся в памяти в единственном экземпляре. Называется интернирование.

Код 

if (str1 == “something” || str2 == “something”)

не будет создавать 2 строки, а будет использовать ссылку на один и тот же объект (да, строка - это Reference Type).

Читать далее