在C#中,Hashtable默认通过引用或值传递?

时间:2012-03-29 10:29:21

标签: c# hashtable

我想知道默认情况下是通过引用还是通过值传递的Hashtable?

2 个答案:

答案 0 :(得分:4)

在C#中,所有参数都按值传递。但HashTable是引用类型,因此传递的值是对实际HashTable的引用,如果这是有意义的。

这意味着当您将HashTable作为参数传递时,不会复制HashTable,但是如果您尝试覆盖参数值,则会这样:

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

然后它将无效,因为你覆盖了value参数,而不是实际的HashTable

答案 1 :(得分:-1)

对该哈希表的引用按值传递(除非您指定ref)。