Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

Name


Известный Болтун

Зарегистрирован:
21 February 2005
Сообщения: 563
Примеры кода: 0
 

Ref

25 May 2005 06:57  


1. Во-первых, в .NET не все параметры передаются по ссылке. Типы, наследующие ValueType (или, другими словами, структуры) передаются-таки по значению. Модификатор ref позволяет передавать структуры по ссылке.

2. Даже если вы имеете дело не со структурой, а с классом, модификатор ref всё равно может вам пригодиться. В этом случае он позволяет передавать ссылку не на объект (как обычно), а ссылку на переменную, содержащую ссылку на объект.

Пример:

 public class Program
 {
  public static void Main()
  {
   string s = "old string";
   Console.WriteLine( s );
   ByValue( s );
   Console.WriteLine( s );
   ByRef( ref s );
   Console.WriteLine( s );
  }
  static void ByValue( string s )
  {
   s = "new string - from ByValue";
  }
  static void ByRef( ref string s )
  {
   s = "new string - from ByRef";
  }
 }

Этот код выведет три строки:

old string
old string
new string - from ByRef


Видите разницу? Вызов метода ByRef изменил не какие-то поля объекта, на который ссылается переменная s, а само значение переменной s, так что она стала содержать ссылку на другой объект.

Если у вас остались вопросы, постараюсь на них ответить.


Данная информация предоставляется на условиях «КАК ЕСТЬ», без предоставления каких-либо гарантий и прав. Используя данную информацию, вы соглашаетесь с тем, что (i) Майкрософт не несет ответственности за использование вами данной информации и (ii) вы п

Данное сообщение получено с сайта GotDotNet.RU
Последний раз редактировалось 25 May 2005 06:57
Наверх
  



Общие вопросы программирования на ASP.NET

 Refastel  25 May 2005 04:02
 Re: RefIDecember  25 May 2005 15:51
 Re: RefName  25 May 2005 19:49
 Re[2]: RefIDecember  26 May 2005 12:25
 Re: RefAndroidLV  26 May 2005 11:46
 Re: RefYaNN  26 May 2005 11:22
 Re: Ref и OutАноним  25 May 2005 08:59
 Re[2]: Ref и OutOyster  25 May 2005 09:04
 Re: RefAleXXus  25 May 2005 08:07
 Re[2]: RefOyster  25 May 2005 09:02
 Re: RefTK  25 May 2005 07:55
 Re: RefSiAVoL  25 May 2005 07:32
 RefName  25 May 2005 06:57
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта