* При перепечатке материалов ссылка на 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

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

Создание перегруженных методов
Строительные блоки .NET
Doxygen – версия 1.5.7
Типы и пространства имен .NET
Реализация полиморфизма через интерфейсы
Распространение приложений через Интернет
Объявление и генерация событий
Принципы дизайна интерфейса
Параметры компоновки установочной программы
Boost – версия 1.36.0
Объект DataRelation
Классы и структуры
Создание плана блочного тестирования
Объекты и члены
Применение наборов элементов управления
| .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 30 31


     



Rambler's Top100

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

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