在 C# 中获取对 HashSet 进行迭代的枚举器
若要获取对 HashSet 进行迭代的枚举器,代码如下:
示例
using System; using System.Collections.Generic; public class Demo { public static void Main(String[] args) { HashSet<string> set1 = new HashSet<string>(); set1.Add("A"); set1.Add("B"); set1.Add("C"); set1.Add("D"); set1.Add("E"); set1.Add("F"); set1.Add("G"); set1.Add("H"); Console.WriteLine("Elements in HashSet1..."); foreach (string res in set1) { Console.WriteLine(res); } HashSet<string> set2 = new HashSet<string>(); set2.Add("John"); set2.Add("Jacob"); set2.Add("Ryan"); set2.Add("Tom"); set2.Add("Andy"); set2.Add("Tim"); set2.Add("Steve"); set2.Add("Mark"); Console.WriteLine("Elements in HashSet2... (Enumerator iterating through HashSet)"); HashSet<string>.Enumerator demoEnum = set2.GetEnumerator(); while (demoEnum.MoveNext()) { string res = demoEnum.Current; Console.WriteLine(res); } Console.WriteLine("Is HashSet1 equal to HashSet2? = "+set1.Equals(set2)); Console.WriteLine("Count of HashSet2 = "+set2.Count); set2.Clear(); Console.WriteLine("Count of HashSet2 (updated) = "+set2.Count); } }
输出
这将产生以下输出:
Elements in HashSet1... A B C D E F G H Elements in HashSet2... (Enumerator iterating through HashSet) John Jacob Ryan Tom Andy Tim Steve Mark Is HashSet1 equal to HashSet2? = False Count of HashSet2 = 8 Count of HashSet2 (updated) = 0
示例
让我们看另一个示例:
using System; using System.Collections.Generic; public class Demo { public static void Main() { HashSet<string> set1 = new HashSet<string>(); set1.Add("AB"); set1.Add("CD"); set1.Add("EF"); set1.Add("AB"); set1.Add("IJ"); set1.Add("KL"); set1.Add("EF"); set1.Add("OP"); Console.WriteLine("Elements in HashSet1"); foreach(string val in set1) { Console.WriteLine(val); } HashSet<string> set2 = new HashSet<string>(); set2.Add("EF"); set2.Add("KL"); Console.WriteLine("Elements in HashSet2... (Enumerator iterating through HashSet)"); HashSet<string>.Enumerator demoEnum = set2.GetEnumerator(); while (demoEnum.MoveNext()) { string res = demoEnum.Current; Console.WriteLine(res); } Console.WriteLine("Is set1 a superset of set2? "+set1.IsSupersetOf(set2)); } }
输出
这将产生以下输出:
Elements in HashSet1 AB CD EF IJ KL OP Elements in HashSet2... (Enumerator iterating through HashSet) EF KL Is set1 a superset of set2? True
广告