C#中是否有任何值类型集合?

时间:2014-06-26 04:17:39

标签: c#

C#中是否有任何带有值类型语义的集合?如果set1包含相同的结构/原语,那么set1等于set2?也许是按照相同的顺序。

1 个答案:

答案 0 :(得分:5)

HashSet非常接近,但==不会比较集合中的值。如果SetEquals包含相同的值,则SequenceEqual将返回true。但是,订单不会考虑。如果订单很重要,您可以使用 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 }

{{1}}