我想知道默认情况下是通过引用还是通过值传递的Hashtable?
答案 0 :(得分:4)
在C#中,所有参数都按值传递。但HashTable
是引用类型,因此传递的值是对实际HashTable
的引用,如果这是有意义的。
这意味着当您将HashTable作为参数传递时,不会复制HashTable,但是如果您尝试覆盖参数值,则会这样:
private void SomeMethod(HashTable ht)
{
...
ht = new HashTable();
...
}
然后它将无效,因为你覆盖了value参数,而不是实际的HashTable
。
答案 1 :(得分:-1)
对该哈希表的引用按值传递(除非您指定ref
)。