相关疑难解决方法(0)

深度克隆对象

我想做的事情如下:

MyObject myObj = GetMyObj(); // Create and fill a new object
MyObject newObj = myObj.Clone();
Run Code Online (Sandbox Code Playgroud)

然后更改未在原始对象中反映的新对象.

我不经常需要这个功能,所以当有必要的时候,我已经使用了创建一个新对象然后单独复制每个属性,但它总是让我觉得有更好或更优雅的处理方式情况.

如何克隆或深度复制对象,以便可以修改克隆对象而不会在原始对象中反映任何更改?

.net c# clone

2135
推荐指数
34
解决办法
77万
查看次数

减去HashSets(并返回副本)?

我有一个HashSet,

var universe = new HashSet<int>();
Run Code Online (Sandbox Code Playgroud)

还有一堆子集,

var sets = new List<HashSet<int>>(numSets);
Run Code Online (Sandbox Code Playgroud)

我想减去一个块,我可以这样做:

var remaining = universe.ExceptWith(sets[0]);
Run Code Online (Sandbox Code Playgroud)

ExceptWith就地工作.我不想修改universe.我应该先克隆它,还是有更好的方法?

c# hashset

17
推荐指数
3
解决办法
8275
查看次数

标签 统计

c# ×2

.net ×1

clone ×1

hashset ×1