C#HashSet类可用于存储、删除或查看元素。它不存储重复的元素。如果您必须只存储唯一的元素,建议使用HashSet类。它位于System.Collections.Generic命名空间中。
C# HashSet<T> example
让无涯教程看一个泛型HashSet<T>类的示例,该类使用add()方法存储元素,并使用for-each循环迭代元素。
using System;
using System.Collections.Generic;
public class HashSetExample
{
public static void Main(string[] args)
{
// 创建一组字符串
var names = new HashSet();
names.Add("Sonoo");
names.Add("Ankit");
names.Add("Peter");
names.Add("Irfan");
names.Add("Ankit");//不会添加
</span><span class="com">// 使用 foreach 循环迭代 HashSet 元素</span><span class="pln">
</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> name </span><span class="kwd">in</span><span class="pln"> names</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="pln">name</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
输出:
Sonoo Ankit Peter Irfan
C# HashSet<T> example 2
让无涯教程看一下使用集合初始值设定项存储元素的泛型HashSet<T>类的另一个示例。
using System;
using System.Collections.Generic;
public class HashSetExample
{
public static void Main(string[] args)
{
// Create a set of strings
var names = new HashSet(){"Sonoo", "Ankit", "Peter", "Irfan"};
</span><span class="com">// 使用 foreach 循环迭代 HashSet 元素</span><span class="pln">
</span><span class="kwd">foreach</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> name </span><span class="kwd">in</span><span class="pln"> names</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="pln">name</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
输出:
Sonoo Ankit Peter Irfan