c# - .NET 哈希表克隆

标签 c# .net hashtable clone

给定以下代码:

Hashtable main = new Hashtable();

Hashtable inner = new Hashtable();
ArrayList innerList = new ArrayList();
innerList.Add(1);
inner.Add("list", innerList);

main.Add("inner", inner);

Hashtable second = (Hashtable)main.Clone();
((ArrayList)((Hashtable)second["inner"])["list"])[0] = 2;

为什么数组中的值在“主”哈希表中从 1 变为 2,因为更改是在克隆上进行的?

最佳答案

您克隆了 Hashtable,而不是它的内容。

关于c# - .NET 哈希表克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635626/

相关文章:

java - 读取java文本文件的最快方法

c++ - 哈希表中的冲突处理

c - 在哈希表中插入一个节点

java - Android 第三次从图库中选择图像时内存不足

c# - 处理可变数量的输出参数,减少 C# 中的代码重复

c# - 权限拒绝 : requires android. permission.READ_PHONE_STATE

.net - 带有 Entity Framework 连接字符串的 NLog?

c# - Func 类型的多播委托(delegate)(带返回值)?

c# - 有没有办法区分 myFunc(1, 2, 3) 和 myFunc(new int[] { 1, 2, 3 })?

c# - 如何在 C# 中动态创建 DataGridView?