Все, что не является «типом значения», которое по существу охватывает перечисления, логические и встроенные числовые типы, будет передано «по ссылке», что, возможно, аналогично механизму передачи по ссылке в C / C ++ или указатель. Синтаксически и семантически он по существу идентичен C / C ++, передаваемому по ссылке.
Обратите внимание, однако, что в C # строки являются неизменяемыми, поэтому, даже если они передаются по ссылке, вы не можете редактировать строку без создания новой.
Также обратите внимание, что вы не можете передавать аргумент как "const" в C #, независимо от того, является ли он типом значения или ссылочным типом.