c#中有值类型集合吗?
本文关键字:集合 类型 | 更新日期: 2023-09-27 18:10:16
c#中有值类型语义的集合吗?所以set1等于set2,如果他们包含相同的结构/原语?也许顺序是一样的
HashSet非常接近,但是==
不比较集合中的值。如果它们包含相同的值,SetEquals
将返回true。然而,顺序并不是考虑因素。如果顺序很重要,可以使用SequenceEqual
。
static void Main(string[] args)
{
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 2, 1, 3 };
HashSet<int> set3 = new HashSet<int> { 1, 2, 3 };
Console.WriteLine(set1.SetEquals(set2)); // True
Console.WriteLine(set1.SequenceEqual<int>(set2)); // False
Console.WriteLine(set1.SequenceEqual<int>(set3)); // True
}