zoukankan      html  css  js  c++  java
  • C#中判断一个集合是另外一个集合的子集

    有这样的两个集合:

    string[] bigArr = new string[] { "a", "b", "c" };
    string[] smallArr = new string[] { "a", "b"};

    现在需要判断smallArr是否是bigArr的子集。只要拿着bigArray和smallArr比较,求差集,如果差集的个数大于0,就说明smallArr是bigArr的子集。

                //在大集合的基础上,根据小集合获取大集合的差集
                var exceptArr = bigArr.Except(smallArr);
    
                //判断是否是子集
                if(exceptArr.Any())
                {
                    Console.WriteLine("samllArr 是 bigArr的一个子集");
                }
                else
                {
                    Console.WriteLine("samllArr 不是 bigArr的一个子集");
                }

    以上的方式,只能判断是否是子集,即是子集的那个集合元素永远小于大的那个集合。

    有时候,还存在这样的需求:判断bigArr是否包含smallArr,即smallArr可以是bigArr的子集,也可以和bigArr是一样的。

                //判断是否是子集或2个集合一样
                if(smallArr.All(t => bigArr.Any(b => b==t)))
                {
                    Console.WriteLine("samllArr 是 bigArr的一个子集或一样");
                }
                else
                {
                    Console.WriteLine("samllArr 不是 bigArr的一个子集或一样");
                }
  • 相关阅读:
    Python爬虫之Scrapy框架的简介和基础应用
    python爬虫之selenium,谷歌无头浏览器
    12.块设备驱动程序(磁盘)
    11.USB输入子系统
    10.触摸屏驱动
    9.LCD驱动架构
    8.platform驱动分离
    7.输入子系统框架
    5.标签管理
    4.分支管理
  • 原文地址:https://www.cnblogs.com/darrenji/p/5371274.html
Copyright © 2011-2022 走看看