Вы можете потребовать приведение этих преобразований, если хотите сделать вещи более понятными за счет небольшого многословия.
ел бы хранить ссылки на несколько шорт в массиве. Я предполагал, что смогу просто создать шорты и затем добавить их в массив. Итак ... каждый раз, когда ссылочный объект изменяется, это отражается в массиве, и наоборот. Проведение некоторых испытаний убедило меня, что это не совсем так. На самом деле, похоже, что значение передается, но не ссылка.
Код ниже создает два коротких замыкания, добавляет их в массив как объекты, а затем изменяет исходное короткое замыкание. Однако при доступе к предполагаемому ссылочному короткому замыканию в массиве он не изменился, что наводит меня на мысль, что это совершенно новый объект, который не имеет ничего общего с исходным.
Console.WriteLine("Testing simple references:");
short v1 = 1;
short v2 = 2;
object[] vs = new object[2];
vs[0] = v1;
vs[1] = v2;
v1 = 1024;
v2 = 512;
Console.WriteLine(" v1: " + (short)vs[0]);
Console.WriteLine(" v2: " + (short)vs[1]);
Я неправильно понимаю кое-что фундаментальное здесь и был бы признателен, если бы кто-то мог объяснить, и, возможно, указать мне решение, которое сделало бы то, что я хочу.