Вы не понимаете, что означает «ссылочный тип».
Подумайте об этом таким образом. Представьте себе два дома, один по улице Улицы Сезам Улицы 123, и один на проспекте Пеннильвания на 1600 год. Это объектов справочного типа.
Теперь представьте, что у вас есть два листа бумаги. Один говорит «Улица Улицы 123». Один говорит: «Пенсильванская проспект 1600». Это не дома; вы не можете переместиться на эти листы бумаги. Это ссылки к домам.
Теперь представьте, что у вас есть два ящика с надписью «a» и «b». Это переменные ссылочного типа.
Вы помещаете бумагу «123 Улица Сезам» в ящик «a». Вы не ставите дом в ящик. Вы положили ссылку на дом в ящик. Переменная ссылочного типа хранит ссылку на объект.Вот почему он называется переменной эталонного типа.
Затем вы делаете фотокопию бумаги в ящике «a» и помещаете ее в ящик «b». «b» теперь содержит копию справки. Ящики "a" и "b" сейчас ссылаются на этот же дом. Если вы нарисуете этот дом красным, дом, на который ссылаются бумаги в обоих ящиках, красный, потому что есть только один дом, на который ссылаются обе бумаги. В одном доме есть две ссылки и две переменные, каждая из которых содержит по одной ссылке.
Затем вы берете бумагу из ящика «a» и уничтожаете ее. Вы заменяете его бумагой, в которой говорится «1600 Пенсильванская авеню».
Выполнение этого ничего не изменило в отношении ящика «b»! Когда вы сказали «b = a», это означает «сделать фотокопию ссылки, которая находится в ящике a, и поместить ее в ящик b». Это не Средние «ящики a и b теперь представляют собой два разных имени для одного и того же ящика».
Это имеет смысл?
Сравнение работает, потому что C# переопределяет этот оператор http://msdn.microsoft.com/en-us/library/aa664728(v=vs.71).aspx, но вы действительно говорили об этом. – Joe
Здесь нет никакого сравнения. –
@Ron Warholic Спасибо, что отказались от ответа. Возможно, вы захотите проверить первоначальный вариант вопроса, чтобы понять, почему было упомянуто сравнение. Возможно, вы захотите сделать это часто, когда увидите комментарии, которые не всегда соответствуют тому, что вы видите в вопросе. – kprobst