С C # 7.2 вы можете передавать структуры с помощью параметра in
, который в основном равен readonly ref
.
class Model {
private readonly TStruct _s;
Model(in TStruct s) {
_s = s;
}
}
В приведенном выше коде, где TStruct
является struct
, я назначаю ссылку на _s
или копирую всю структуру? Что я хочу, чтобы избежать ненужного копирования памяти.Поскольку мне нужно только прочитать данные из s
, я бы подумал, что readonly ref
сделает это.К сожалению, я не могу пометить _s
как readonly ref
.