gpt4 book ai didi

c# - 将通用列表转换为 ISet

转载 作者:可可西里 更新时间:2023-11-01 03:04:51 25 4
gpt4 key购买 nike

有人必须将列表分配给 ISet 吗?我该怎么做?

说我有课

class Foo
{
ISet<Item> Items { get; set; }
}

现在,我想做以下事情:

var foo = new Foo() { Items = new List<Item>() { new Item() } }

最佳答案

List<Item> myList = ...
foo.Items = new HashSet<Item>( myList );

请记住 Set ,不像 List , 必须恰好包含每个元素一次。因此,如果 myList包含某些元素的多个副本,所有这些副本,除了一个,都不会进入集合。

元素的相等性(用于检测多个副本)由 Equals 定义和 GetHashCode方法。如果你想使用不同的相等定义,你可以使用 HashSet 的重载。采用 IEqualityComparer<Item> 的构造函数.

关于c# - 将通用列表转换为 ISet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5808284/

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