Хранить ссылки на поля объекта в массиве, используя ref locals / return - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь сохранить все поля в массиве, а затем умножить каждое поле на * 3

public class Person
{
    public int Field;
    public int Field2;
}

var p = new Person {Field = 8};
int[] items = { ref p.Field, ref p.Field2 }; //this is not allowed

for (int i = 0; i < items.Length; i++)
{
    ref int ret = ref items[i];
    ret *= 3;
}

Ожидаемое p.Field равно 24.Возможно ли это сделать?Если нет, то возможно ли это сделать с помощью свойств вместо полей?

...