Да, среда выполнения будет выделять память для любого строкового объекта, который вы создаете или запрашиваете, в том числе тот, который возвращается из вызова метода.
Но нет, это абсолютно , а не , о чем вам нужно беспокоиться. Это не окажет какого-либо заметного влияния на производительность вашего приложения, и вы никогда не должны поддаваться искушению преждевременно оптимизировать код.
Метод Int32.ToString
очень быстрый. Он обращается к нативному коду, написанному на уровне CLR, что вряд ли является узким местом производительности в любом приложении.
Фактически, проблема производительности real здесь будет boxing , которая представляет собой процесс преобразования типа значения в тип object
и обратно. Это происходит потому, что вы объявили переменную height
как тип object
, а затем присвоили ей целочисленное значение.
Намного лучше объявить height
явно как тип int
, вот так:
int height = 10;
string heightStr = height.ToString();