DataGridView: передать по значению или по ссылке? - PullRequest
2 голосов
/ 17 ноября 2009

Я думаю о DataGridView как о боровах памяти. Лучше ли передавать по значению datagridview или по ссылке? Должен ли он вообще быть принят?

Ответы [ 4 ]

5 голосов
/ 17 ноября 2009

Передача его по значению или ссылке не будет иметь значения с точки зрения памяти, потому что DataGridView является ссылочным типом, а не типом значения.

3 голосов
/ 17 ноября 2009

Тип DataGridView является ссылочным типом, поэтому невозможно передать объект по значению. Вы можете передать объекту ссылку по значению, но это очень маленькое (обычно указатель размера) значение.

1 голос
/ 17 ноября 2009
  1. Вы не будете (должны) проходить какой-либо контроль очень часто
  2. Вы не можете передать сам объект вообще.
  3. Вы можете только передать ссылку на объект, и это по значению (по умолчанию) или по ссылке (параметр ref) не влияет на использование памяти. Это проектное решение, но обычно, конечно же, для Controls, вы передаете ссылку по значению.
1 голос
/ 17 ноября 2009

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

...