C# HashSet.IsSuperSetOf和IsPropertySupersetof之间的差异?

C# HashSet.IsSuperSetOf和IsPropertySupersetof之间的差异?,c#,hashset,C#,Hashset,这两种方法的文档看起来非常相似。此外,IsSupersetOf备注下面引用的示例也没有多大帮助 有人能用简单的语言给我解释一下这两者的区别吗?你可以把它看作是和=之间的区别。IsSuperSetOf正在执行类似于=的操作,因此您的集合中的元素可能与您要比较的集合中的元素完全相同。相比之下,一个合适的超集有点像,并且有第二个超集没有的额外元素 例如,一个集合是自身的超集,但它不是自身的适当超集。集合a的超集是包含集合a的所有元素的集合 A的适当超集是包含A的所有元素但不等于A的集合 因此,如果A=

这两种方法的文档看起来非常相似。此外,
IsSupersetOf
备注下面引用的示例也没有多大帮助


有人能用简单的语言给我解释一下这两者的区别吗?

你可以把它看作是
=
之间的区别。IsSuperSetOf正在执行类似于
=
的操作,因此您的集合中的元素可能与您要比较的集合中的元素完全相同。相比之下,一个合适的超集有点像
,并且有第二个超集没有的额外元素


例如,一个集合是自身的超集,但它不是自身的适当超集。

集合
a
的超集是包含集合
a
的所有元素的集合

A
的适当超集是包含
A
的所有元素但不等于
A
的集合


因此,如果
A
=
{1,2,3}
,那么
{1,2,3}
A
的超集,但不是正确的超集,而
{1,2,3,4}
是正确的超集。

正确的子集不能等于该集

{1,2,3}是{1,2,3}的子集,但不是真子集

{1,2}是{1,2,3}的适当子集(和子集)


答案在下面的数学定义中:

如果A和B是集合,且A的每个元素也是B的元素,则:

  • B是(或包括)a的超集,用B表示⊇ A
如果A是B的子集,但A不等于B(即至少存在一个不是A元素的B元素),则

  • B是a的适当超集;这写为B⊋ A

来源:

好的老数学。令人惊讶的是,一个人很快就忘记了日常生活中没有用到的东西。谢谢你的链接。谢谢你的简化。