* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Применение переменных ссылочных типов
7 февраля 2009

Переменная, объявленная с типом значения, содержит все данные, которые пред-
ставляет этот тип, тогда как переменная ссылочного типа содержит ссылку на не-
который объект — это принципиальное отличие между типами значения и ссылоч-
ными типами. Рассмотрим следующий пример;
Visual Basic .NET
Dim x, у As Integer
x = 15
у = x
x = 30
Каково значение у?
Visual C#
int x, у;
х = 15;
У = х;
х = 30;
// Каково значение у?
Здесь создаются две целочисленные переменные: х и у. Переменной х присваи-
вается значение 15, после чего ее значение присваивается переменной >•. В завер-
шение х присваивается значение 30. А каково значение у? Ответ кажется очевид-
ным: 15. Так какхи у — разные переменные, модификация одной из них никак не
влияет на другую. При исполнении команды у=х значение переменной х копирует-
ся в у, между этими переменными больше нет никакой связи.
Со ссылочными типами все иначе. Рассмотрим пример, аналогичный преды-
дущему, но использующий переменные ссылочного типа (Form) вместо типа зна-
чения:
Visual Basic .NET
Dim x, у as System.Windows.Forms.Form
x = New System.Windows.Forms.Form ()
x.Text = "This is Form 1"
у = x
x.Text - "This is Form 2"
' Какое значение вернет у.Text?
Visual C#
System.Windows.Forms.Form x,y;
x = new System.Windows.Forms.Form ();
x.Text - "This is Form 1";
у = x;
x.Text = "This is Form 2";
// Какое значение вернет у.Text?
Какое значение вернет y.Texft На этот раз ответ не столь очевиден. Поскольку
System. Windows.Forms.Form — это ссылочный тип, переменная х не содержит фор-
му, в действительности она хранит лишь ссылку на экземпляр формы. При испол-
нении команды х=у исполняющая среда копирует эту ссылку из хв у, после чего
переменная у ссылается на тот же экземпляр формы, что и переменная х. Посколь-
ку обе переменные ссылаются на один и тот же экземпляр объекта, они возвраща-
ют одинаковые значения свойств объекта, который они представляют, то есть у. Text
вернет «This is Form 2».

Теги: .NET

Статьи по теме:

Стыковка и фиксация элементов управления
Использование шаблонов кода
Анти-паттерны в действии или Самые популярные ошибки программистов
Реализация метода RemoveStale
Параметризованные свойства
Реализация полиморфизма через интерфейсы
Интерфейсы как средство достижения полиморфизма
Создание экземпляров пользовательских типов
Оптимизация средствами компилятора
Отладка элементов управления
Установка сборок в GAC
Использование провайдеров дополнительных свойств
Общеязыковая исполняющая среда
Подключение к БД
Создание плана блочного тестирования
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Применение переменных ссылочных типов. Регион сайта: Москва и Санкт-Петербург