千家信息网

C#的set怎么使用

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本文小编为大家详细介绍"C#的set怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"C#的set怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。包含不重复元素
千家信息网最后更新 2025年02月02日C#的set怎么使用

本文小编为大家详细介绍"C#的set怎么使用",内容详细,步骤清晰,细节处理妥当,希望这篇"C#的set怎么使用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

包含不重复元素的集合称为"集(set)"。.NET Framework包含两个集HashSet和SortedSet,它们都实现ISet接口。HashSet集包含不重复元素的无序列表,SortedSet集包含不重复元素的有序列表。
ISet接口提供的方法可以创建合集,交集,或者给出一个是另一个集的超集或子集的信息。

    var companyTeams = new HashSet() { "Ferrari", "McLaren", "Mercedes" };    var traditionalTeams = new HashSet() { "Ferrari", "McLaren" };    var privateTeams = new HashSet() { "Red Bull", "Lotus", "Toro Rosso", "Force India", "Sauber" };    if (privateTeams.Add("Williams"))      Console.WriteLine("Williams added");    if (!companyTeams.Add("McLaren"))      Console.WriteLine("McLaren was already in this set");

IsSubsetOf验证traditionalTeams中的每个元素是否都包含在companyTeams中

    if (traditionalTeams.IsSubsetOf(companyTeams))    {      Console.WriteLine("traditionalTeams is subset of companyTeams");    }

IsSupersetOf验证traditionalTeams中是否有companyTeams中没有的元素

    if (companyTeams.IsSupersetOf(traditionalTeams))    {      Console.WriteLine("companyTeams is a superset of traditionalTeams");    }

Overlaps验证是否有交集

    traditionalTeams.Add("Williams");    if (privateTeams.Overlaps(traditionalTeams))    {      Console.WriteLine("At least one team is the same with the traditional " +      "and private teams");    }

调用UnionWith方法把新的 SortedSet变量填充为companyTeams,privateTeams,traditionalTeams的合集

    var allTeams = new SortedSet(companyTeams);    allTeams.UnionWith(privateTeams);    allTeams.UnionWith(traditionalTeams);    Console.WriteLine();    Console.WriteLine("all teams");    foreach (var team in allTeams)    {      Console.WriteLine(team);    }

输出(有序的):

      Ferrari      Force India      Lotus      McLaren      Mercedes      Red Bull      Sauber      Toro Rosso      Williams

每个元素只列出一次,因为集只包含唯一值。
ExceptWith方法从ExceptWith中删除所有私有元素

    allTeams.ExceptWith(privateTeams);    Console.WriteLine();    Console.WriteLine("no private team left");    foreach (var team in allTeams)    {      Console.WriteLine(team);    }

读到这里,这篇"C#的set怎么使用"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0