iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#集合之集(set)的用法
  • 552
分享到

C#集合之集(set)的用法

2024-04-02 19:04:59 552人浏览 独家记忆
摘要

包含不重复元素的集合称为“集(set)”。.net Framework包含两个集HashSet<T>和SortedSet<T>,它们都

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

    var companyTeams = new HashSet<string>() { "Ferrari", "McLaren", "Mercedes" };
    var traditionalTeams = new HashSet<string>() { "Ferrari", "McLaren" };
    var privateTeams = new HashSet<string>() { "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<string>变量填充为companyTeams,privateTeams,traditionalTeams的合集

    var allTeams = new SortedSet<string>(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)的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#集合之集(set)的用法

本文链接: https://www.lsjlt.com/news/145658.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#集合之集(set)的用法
    包含不重复元素的集合称为“集(set)”。.NET Framework包含两个集HashSet<T>和SortedSet<T>,它们都...
    99+
    2024-04-02
  • C#集合之并发集合的用法
    .NET 4 开始,在System.Collection.Concurrent中提供了几个线程安全的集合类。线程安全的集合可防止多个线程以相互冲突的方式访问集合。为了对集合进行线程安...
    99+
    2024-04-02
  • C#集合之不变集合的用法
    如果对象可以改变其状态,就很难在多个同时运行的任务中使用。这些集合必须同步。如果对象不能改变器状态,就很容易在多个线程中使用。Microsoft提供了一个新的集合库:Microsof...
    99+
    2024-04-02
  • C#集合之可观察集合的用法
    如果需要集合中的元素何时删除或添加的信息,可以使用ObservableCollection<T>类。这个类是为WPF定义的,这样UI就可以得知集合的变化。这个类在程序集W...
    99+
    2024-04-02
  • Java之Set 交集,差集,并集的用法
    目录Java之Set 交集,差集,并集java8 list<bean>交集差集并集定义bean定义两个list总结Java之Set 交集,差集,并集 import ja...
    99+
    2023-05-18
    Java Set Java交集 Java差集 Java并集
  • C#集合之栈的用法
    栈(Stack)和队列是非常类似的一个容器,只是栈是一个后进先出(LIFO)的容器。栈用Push()方法在栈中添加元素,用Pop()方法获取最近添加的一个元素: Stack<...
    99+
    2024-04-02
  • Python学习之集合set
    目录集合 (set)一 、合集的一些常用命令1、set 定义合集2、add 添加元素3、clear 清空4、pop 随机删除一个元素5、remove 指定删除6、discard 指定...
    99+
    2024-04-02
  • Python 集合之set详解
    目录引言集合的定义集合常用操作集合添加元素集合移除元素集合统计、清空元素集合元素获取(遍历)集合之间的运算集合差运算 -集合并运算 |集合交运算 &集合异或运算 ^应用场景普...
    99+
    2024-04-02
  • python之集合(set)学习
    集合是一个无序的不重复元素序列,使用大括号({})、set()函数创建集合, 注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。   集合是无序的、不重复的、没有索引的 1 a = {'hello','ni...
    99+
    2023-01-30
    python set
  • python3学习之set集合
    关键字set是集合,数据特点是:无序,去重#创建se = {"sdfs","ljk"}    ;大括号中不是键值对se = set((1,2,3,4,8))se = set()   ;空集合#操作se.add         #单个添加  ...
    99+
    2023-01-31
    set
  • C#集合之队列的用法
    队列是其元素按照先进先出(FIFO)的方式来处理的集合。队列使用System.Collections.Generic名称空间中的泛型类Queue<T>实现。在内部,Que...
    99+
    2024-04-02
  • C#集合之链表的用法
    LinkedList<T>是一个双向链表,其元素会指向它前面和后面的元素。这样,通过移动到下一个元素可以正向遍历链表,通过移动到前一个元素可以反向遍历链表。 链表在存储...
    99+
    2024-04-02
  • C#集合之列表的用法
    目录1.创建列表2.添加元素3.插入元素4.访问元素5.删除元素6.搜索7.排序8.类型转换9.只读集合.NET Framework为动态列表List提供泛型类List<T&g...
    99+
    2024-04-02
  • C#集合之字典的用法
    字典表示一种复杂的数据结构,这种数据结构允许按照某个键来访问元素。字典也称为映射或散列表。字典的主要特性是能根据键快速查找值。也可以自由添加和删除元素,这有点像List<T&g...
    99+
    2024-04-02
  • Java常用集合之Set和Map的用法详解
    目录常用Set集合Set集合的特点HashSet创建对象常用方法遍历常用Map集合Map集合的概述HashMap创建对象常用方法遍历HashMap的key去重原理常用Set集合 Se...
    99+
    2024-04-02
  • Python集合set的交集和并集操作方法
    目录一、交集操作1.使用intersection()求交集2. 使用位运算&符求交集3.intersection_update()方法4.使用intersection()方法...
    99+
    2024-04-02
  • python set(集合)
    set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据...
    99+
    2023-01-31
    python set
  • C#集合之位数组的用法
    如果需要处理的数字有许多位,就可以使用BitArray类和BitVector32结构。BitArray类位于System.Collection,BitVector32结构位于Syst...
    99+
    2024-04-02
  • C#集合之自定义集合类
    一、非泛型方式,继承自CollectionBase public class MyClass { public static void Main() { ...
    99+
    2024-04-02
  • python的set集合使用
    python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric diff...
    99+
    2023-01-31
    python set
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作