Код: Выделить всё
private int _backingField;
public int SomeNumber => Volatile.Read(ref _backingField);
public void Test_1()
{
var someNumber = Volatile.Read(ref _backingField);
// do A
if (someNumber == 5)
{
// do B
}
}
public void Test_2()
{
var someNumber = SomeNumber;
// do A
if (someNumber == 5)
{
// do B
}
}
< /code>
Я знаю, что современные процессоры, чтобы повысить производительность, делают много оптимизации под капотом. Одна из этих оптимизаций может включать перемещение назначения в Momenumber Однако мой вопрос заключается в том, являются ли методы test_1 и test_2 идентичны. Тот факт, что летучая чтение test_2 вложено в геттере, аннулирует преимущества нестабильного чтения?
Подробнее здесь: https://stackoverflow.com/questions/794 ... n-a-getter