Страницы

Поиск по вопросам

вторник, 16 апреля 2019 г.

Boxing при интерполяции строк в c#

Есть код 1
int i = 123; string s = $"{i}";
И есть код 2
int i = 123; string s = $"{i.ToString()}";
В первом варианте будет происходить боксинг или с интерполяцией не происходит такого и компилятор понимает что надо вызвать ToString?


Ответ

1)
string s = $"{i}";
превращается в string.format, который принимает object'ы, боксинг присутствует

2)
string s = $"{i.ToString()}";
передается строка, боксить нечего

Комментариев нет:

Отправить комментарий