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的一个子集或一样");
                }
  • 相关阅读:
    好的Qt学习资料
    QT QMap介绍与使用
    Qt缺少调试器
    vs2012+Qt5.3.1环境添加新的ui界面的方法
    QT定时器的使用
    Qt中forward declaration of struct Ui::xxx的解决
    linux-svn命令
    如何编写Windows服务
    为你的爬虫提提速?
    Python爬虫的N种姿势
  • 原文地址:https://www.cnblogs.com/darrenji/p/5371274.html
Copyright © 2011-2022 走看看