Компилятор уже примитивами особых случаев во многих сценариях. Спасибо за предположение, но я ищу окончательный ответ.

.2 представилin модификатор для передачи аргументов по ссылке с гарантией того, что получатель не изменит параметр.

Этотстатья говорит:

Вы никогда не должны использовать не-readonly структуру в качестве параметров in, потому что это может отрицательно повлиять на производительность и может привести к неясному поведению, если структура изменчива

Что это значит для встроенных примитивов, таких какint, double?

Я хотел бы использоватьin выражать намерение в коде, но не за счет потерь производительности для защитных копий.

Вопросов

Безопасно ли передавать примитивные типы черезin аргументы, а не защитные копии сделаны?Являются ли другие часто используемые каркасные структуры, такие какDateTime, TimeSpan, Guid, ... считаетсяreadonly JIT?Если это зависит от платформы, как мы можем узнать, какие типы безопасны в данной ситуации?

Ответы на вопрос(4)

Ваш ответ на вопрос