В C # Hashtable передается по ссылке или по значению по умолчанию? - PullRequest
1 голос
/ 29 марта 2012

Хотелось бы узнать, передается ли по умолчанию Hashtable по ссылке или по значению?

Ответы [ 2 ]

4 голосов
/ 29 марта 2012

В C # все параметры передаются по значению. Но HashTable является ссылочным типом, поэтому передаваемое значение является ссылкой на фактический HashTable, если это имеет смысл.

Таким образом, это означает, что HashTable не копируется при передаче его в качестве параметра, но если вы пытаетесь перезаписать значение параметра следующим образом:

private void SomeMethod(HashTable ht)
{
   ...
   ht = new HashTable();
   ...
}

тогда это не будет работать, потому что вы перезаписываете параметр значения, а не фактический HashTable.

0 голосов
/ 29 марта 2012

Ссылка на эту хеш-таблицу передается по значению (если вы не укажете ref).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...