zoukankan      html  css  js  c++  java
  • C#中集合的交集:Intersect问题

    集合的包含关系常见的有: 

    Intersect(交集)、Except(差集)、Union(并集)

    用法比较简单: L1.Intersect / Except / Union ( L2 )

    在实际应用过程中,遇到这样一个问题,代码附下:

    namespace countTest
    {
        class Program
        {
            static int CountCk = 0;
            static void Main(string[] args)
            {
                List<List<string>> mList = new List<List<string>>();
                List<string> rawData1 = new List<string> { "A1", "B1", "C1" };
                List<string> rawData2 = new List<string> { "A1", "B1", "C2" };
                mList.Add(rawData1);
                mList.Add(rawData2);
                List<string> rawData3 = new List<string> { "A1", "B1"};
    
                foreach (var item in mList)
                {
                    foreach (var i in item)
                    {
                        Console.WriteLine(i);
                    }
    
                }
                for (int transation = 0; transation < mList.Count; transation++)
                {
    
                    //if ((mList[transation].Intersect(rawData3)).ToList() == rawData3)
                    //{
                    //    CountCk += 1;
                    //}
                    if ((mList[transation].ToString()).Contains((rawData3).ToString()))
                    {
                        CountCk += 1;
                    }
                }
                Console.WriteLine(CountCk);
                Console.ReadKey();
            }
        }
    }

    如上代码所示,我的目的是想找到mList(类型为List<List<string>>,其中每个元素都是 List<string> 类型 ) 中是否包含rawData3(类型为 List<string>),起初我用的是(mList[transation].Intersect(rawData3)).ToList() == rawData3.toList(),然而通过调试发现CountCk并没有执行 +1 操作,随后看到不管是mList[ transation ] 还是 rawData3 都是System.Collections.Generic.List<string>类型的,于是我先分别将其做一个转化,都转化成 string 类型,于是就解决了此问题。

    优秀博客推荐:https://www.cnblogs.com/sujulin/p/7137938.html

    既然无论如何时间都会过去,为什么不选择做些有意义的事情呢
  • 相关阅读:
    如何用grunt压缩文件
    nodejs 下载,安装,测试(windows环境下)
    INNODB和MYISAM
    HashMap和HashTable
    平衡二叉树(AVL)
    二叉排序树删除
    二叉排序树的创建和遍历
    二叉排序树基础
    赫夫曼树
    堆排序
  • 原文地址:https://www.cnblogs.com/xiaodongsuibi/p/8630644.html
Copyright © 2011-2022 走看看