• C# 3.0 中求交集、差集、并集


    .NET Frameword 3.5 中使用的 C# 语言是 3.0,可以很方便地求交集、差集、并集。

    int[] arr = new int[3];
    int[] arr2 = new int[3];
    // 省略为 arr、arr2 赋值
    
    int[] arr3 = arr.Intersect(arr2).ToArray(); // 交集
    int[] arr4 = arr.Except(arr2).ToArray(); // 差集
    int[] arr5 = arr.Union(arr2).ToArray(); // 并集(arr5 = arr1 + arr2)

    顺便说一下

    多个集合之间求交集时,注意下面的备注。

    List<int> list = new List<int>();
    for (int i = 0; i < Items.Count; i++)
    {
        if (i == 0)
        {
            // 注意第一项不能与 list 求交集,因为 list 还没有内容
            list.AddRange(Items[i]); // 注意不是 list = Items[i];
            continue;
        }
        
        list = list.Intersect(Items[i]).ToList();
        if (list.Count <= 0)
        {
            break; // 后面的不用求了
        }
    }
    
    // 注意 Items.Count 等于 0,或者各 Item 之间无交集,结果都是一样的

    转载自:http://i.quanzhaowo.com/showtopic-332.aspx

  • 相关阅读:
    nginx 按天生成日志
    cmder
    EXCEL最大行数问题:org.apache.xmlbeans.impl.store.Saver$TextSaver.resize(Saver.java:1700)
    nginx configure 错误记录
    Flume NetCat Demo
    Flume
    hbase
    kafka安装配置
    azkaban
    sqoop
  • 原文地址:https://www.cnblogs.com/hongfei/p/2877724.html
Copyright © 2020-2023  润新知