gpt4 book ai didi

c# - 复制字典的意外结果

转载 作者:行者123 更新时间:2023-11-30 22:18:42 25 4
gpt4 key购买 nike

<分区>

这违背了我对复制字典的理解。比如说,我有以下代码:

public class MyClass
{
public string str1;

public MyClass(string s)
{
str1 = s;
}
}

Dictionary<string, MyClass> dic1 = new Dictionary<string, MyClass>();
dic1.Add("0", new MyClass("hello"));

//Make 'dic2' as a copy of 'dic1'
Dictionary<string, MyClass> dic2 = new Dictionary<string, MyClass>(dic1);

//Alter 'dic1'
dic1.ElementAt(0).Value.str1 += "!!!";

//I was expecting dic2 not to be altered, but IT IS!
Debug.Assert(dic2["0"].str1.Equals(dic1["0"].str1, StringComparison.Ordinal) == false); //Result is true for equality

我原以为更改复制的字典不会更改原始字典,但我的代码并非如此。

我做错了什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com