zoukankan      html  css  js  c++  java
  • LinQ使用积累

    1. 用Linq查询datatable中的行是否重复
    intcount1 = (from p indt.AsEnumerable() select p).Distinct().Count();
    intcount2 = (from p indt.AsEnumerable() select p).Count();
    if(count1 < count2)
    {
      MessageBox.Show("重复");
    }

    2. 用Linq查询List中的行是否重复
    List<int> Numbers = newList<int> { 1, 2, 3, 7, 31 };
    Console.WriteLine(Numbers.Distinct().Count() == Numbers.Count);
    Console.ReadKey();

    3. 用Linq查找重复值的方法
    Dictionary plants = new Dictionary() {
      {1,"Speckled Alder"},
      {2,"Apple of Sodom"},
      {3,"Hairy Bittercress"},
      {4,"Pennsylvania Blackberry"},
      {5,"Apple of Sodom"},
      {6,"Water Birch"},
      {7,"Meadow Cabbage"},
      {8,"Water Birch"}
    };
    //find dictionary duplicate values.
    var duplicateValues = plants.GroupBy(x => x.Value).Where(x => x.Count() > 1);

    4. 用Linq根据需要重组新的实体并输出
    A. 使用单一对象列表重组新的对象列表:
    var srcObjectList = 原本实例对象列表.ToList()
    var newObjectList = from a in srcObjectList select new  //new是创建新的对象,十分重要。
    {
      新对象成员1 = srcObjectList.属性1,
      新对象成员2 = srcObjectList.属性2,
      新对象成员3 = srcObjectList.属性3,
      新对象成员4 = srcObjectList.属性4,
      新对象成员5 = srcObjectList.属性2 + srcObjectList.属性3
    }
    新对象列表(newObjectList)使用旧对象列表(srcObjectList)的部分属性,重组成新的对象列表。

    B. 使用两个不同对象列表属性重组新的对象列表:
    var srcObjectList1 = 原本实例对象列表1.ToList()
    var srcObjectList2 = 原本实例对象列表2.ToList()
    var newObjectList = from a in srcObjectList1 join b in srcObjectList2 on a.属性 equals b.属性 select new  //new是创建新的对象,十分重要。

    {
      新对象成员1 = a.属性1,
      新对象成员2 = b.属性2,
      新对象成员3 = a.属性2,
      新对象成员4 = b.属性3,
      新对象成员5 = b.属性4,
      新对象成员6 = a.属性3,
      新对象成员7 = a.属性4 + b.属性1
    }
    新对象列表(newObjectList)使用两个旧对象列表(srcObjectList1、srcObjectList2)的部分属性,重组成新的对象列表。

  • 相关阅读:
    Failure [INSTALL_FAILED_ALREADY_EXISTS]
    在CentOS 7上构建RAID5、LVM和SAMBAserver(5)——架设SAMBAserver
    adb命令具体解释(二)——手机缺失sqlite3时操作数据库的多种解决方式
    【环境配置】Linux的经常使用命令
    windowsclient开发--使你的client执行时记住上次关闭的大小和位置
    【13】以对象管理资源
    C++ 初始化与赋值
    C++ 变量初始化规则
    C++ 构造和析构
    【20】宁以pass-by-reference-to-const替换pass-by-value
  • 原文地址:https://www.cnblogs.com/MatrixBlogs/p/7211842.html
Copyright © 2011-2022 走看看