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)的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持0133技术站。

以上就是C#集合之集(set)的用法的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他教程