精华内容
下载资源
问答
  • c# linq 重复取得 长期以来, LINQ是.NET软件工程生态系统中发生的最好的事情之一。 通过在Visual Studio 2008中引入lambda表达式和monad ,它使C#语言跃居Java之前,Java在当时是第6版,但仍在讨论泛型类型擦除的...
    c# linq 重复取得

    c# linq 重复取得

    长期以来, LINQ是.NET软件工程生态系统中发生的最好的事情之一。 通过在Visual Studio 2008中引入lambda表达式monad ,它使C#语言跃居Java之前,Java在当时是第6版,但仍在讨论泛型类型擦除的优缺点。 这项成就主要归功于荷兰计算机科学家兼染料专家Erik Meijer并获得其认可,他现在正从事其他项目

    Erik Meijer,Tye染料专家。图片由Ade Oshineye提供。根据CC-BY-SA许可

    Erik Meijer,Tye染料专家。 Ade Oshineye摄 根据CC-BY-SA许可

    Java现在在哪里?

    随着即将发布的Java 8和JSR-355 ,我们仍然需要LINQ吗? 自上个十年中期以来,已经进行了许多尝试来将LINQ优点引入Java。 当时, QuaereLambdaj似乎是在图书馆级别(而不是语言级别)上有希望的实现。 实际上,大量流行的Stack Overflow问题暗示了有多少Java人员(现在仍然是!)实际上正在寻找等同的东西:

    有趣的是,“ LINQ”甚至已经成为EL 3.0

    但是我们真的需要LINQ吗?

    LINQ有一个主要缺陷,该缺陷被宣传为一项功能,但在我们看来,这将不可避免地导致“下一个大阻抗失配” LINQ受SQL启发,这根本不是一件好事。 LINQ最流行于LINQ-to-Objects ,这是查询.NET中集合的一种好方法。 但是, HaskellScala的成功表明,“集合查询”的真正功能本质倾向于使用除SELECTWHEREGROUP BYHAVING之外的其他术语。 他们使用的术语包括“折叠”,“地图”,“ flatMap”,“ reduce”等等。 另一方面,LINQ使用GROUP BY和“ skip”,“ take”(而不是OFFSETFETCH )等术语的混合体。

    实际上,除了良好的旧SQL分区外部联接,分组集框架窗口函数之外,没有什么比功能真理更重要的了。 这些构造仅仅是SQL开发人员希望看到的结果的声明。 它们不是独立的函数,实际上包含要在任何给定上下文中执行的逻辑。 而且,窗口函数只能在SELECTORDER BY子句中使用,这在以声明方式进行思考时很明显,但是如果您没有SQL上下文,这也很奇怪。 具体来说, SELECT子句中的窗口函数会影响整个执行计划,以及采用索引来预取正确数据的方式。

    相反,真正的函数式编程对内存中集合的作用比SQL还要多。 使用SQLesque API进行集合查询是一个狡猾的决定,目的是欺骗“传统”人员采用函数式编程。 但是,使集合和SQL表查询可以混淆的希望令人失望,因为这样的构造不会产生所需SQL执行计划

    相反,真正的函数式编程对内存中集合的作用比SQL还要多。 使用SQLesque API进行集合查询只是错误的决定。 令人失望的是,收集和SQL表查询可能会混淆在一起,因为这样的构造将不可避免地产生可怕SQL执行计划

    但是,如果我

    这很简单。 当您执行SQL时,有两个基本选择。

    • “自上而下”进行操作,将大部分精力放在Java域模型上。 在这种情况下,请使用Hibernate / JPA通过Java 8 Streams API查询和转换Hibernate结果。
    • “自下而上”进行操作,将大部分精力放在您SQL /关系域模型上。 在这种情况下,请使用JDBC或jOOQ,然后再次使用Java 8 Streams API转换结果。

    此处对此进行了更详细的说明: http : //www.hibernate-alternative.com

    拥抱未来!

    虽然.NET在Java上已经“领先”了一段时间,但这不是由于LINQ本身引起的。 这主要是由于引入了lambda表达式以及lambda对* ALL * API的影响。 LINQ只是如何构造此类API的一个示例,尽管LINQ赢得了大多数赞誉。

    但是我对Java 8的新Streams API以及它将如何包含Java生态系统中的某些功能编程感到更加兴奋。 Informatech在一篇非常好的博客文章中说明了常见的LINQ表达式如何转换为Java 8 Streams API表达式。

    所以,不要回头。 停止羡慕.NET开发人员。 使用Java 8,我们将不需要LINQ或任何试图以“统一查询”为基础来模仿LINQ的API,这对于真正的“查询目标阻抗不匹配”来说是一个更好的称呼。 我们需要真正SQL来进行关系数据库查询,并且需要Java 8 Streams API来进行内存中集合的功能转换。 而已。 使用Java 8!

    参考: Java 8是否仍需要LINQ?还是比LINQ更好? 从我们的JCG合作伙伴Lukas Eder在JAVA,SQL和JOOQ博客中获得。

    翻译自: https://www.javacodegeeks.com/2013/11/does-java-8-still-need-linq-or-is-it-better-than-linq.html

    c# linq 重复取得

    展开全文
  • LINQ重复值验证

    2009-08-01 11:27:00
    原文地址  ... Code   //  很酷的写法   var ageGroups3  =  from row  ...只是LINQ粗浅的应用 还是支持原创 不全部挂上来 转载于:https://www.cnblogs.com/ruyi/archive/2009/08/01/1536425.html

    原文地址   http://liutiemeng.blog.51cto.com/120361/95285

    ContractedBlock.gifExpandedBlockStart.gifCode

                
    // 很酷的写法 
                var ageGroups3 = from row in table.Rows.Cast<DataRow>() group row by Convert.ToInt32(row["Age"]) into resultCollection select resultCollection; 
                
    foreach (var group in ageGroups3) 
                { 
                    Console.WriteLine(
    "{0}, {1}", group.Key.ToString(), group.Count().ToString()); 
                } 

                Console.WriteLine(
    "========================================="); 

                
    // 比较BT的写法 
                foreach (var group in from row in table.Rows.Cast<DataRow>() group row by Convert.ToInt32(row["Age"]) into resultCollection select resultCollection) 
                { 
                    Console.WriteLine(
    "{0}, {1}", group.Key.ToString(), group.Count().ToString()); 
                } 

    就是用LINQ进行分组统计 
    然后再对分组统计的结果 CONUNT 》2 的   代码CONSO处
    抛验证结果

    只是LINQ粗浅的应用  还是支持原创  不全部挂上来

    转载于:https://www.cnblogs.com/ruyi/archive/2009/08/01/1536425.html

    展开全文
  • 使用Linq查找重复

    2019-09-28 14:24:47
    使用Linq查找重复 1 namespace RemoveTheSame 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 List<User> list = new List&...

    使用Linq查找重复

     
    复制代码
     1 namespace RemoveTheSame
     2 {
     3     class Program
     4     {
     5         static void Main(string[] args)
     6         {
     7             List<User> list = new List<User>()
     8             {
     9                 new User{Id=1,Name="user1",Pwd="123"},
    10                 new User{Id=2,Name="user1",Pwd="123"},
    11                 new User{Id=3,Name="user2",Pwd="123"}
    12             };
    13             GetTheSame(list, out string tkey);
    14             Console.WriteLine($"The Same is {tkey}");
    15             Console.ReadKey();
    16         }
    17         public static void GetTheSame(List<User> listOld, out string tkey/*,out User user*/)
    18         {
    19             tkey = null;
    20             var result = from x in listOld
    21                          group x by x.Name into g
    22                          where g.Count() > 1
    23                          select g;
    24             foreach (var item in result)
    25             {
    26                 tkey = item.Key;
    27             }
    28         }
    29     }
    30     public class User
    31     {
    32         public string Name { get; set; }
    33         public int Id { get; set; }
    34         public string Pwd { get; set; }
    35 
    36     }
    37 }
    复制代码

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 使用Linq查找重复
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<User> list = new List<User>()
                {
                    new User{Id=1,Name="user1",Pwd="123"},
                     new User{Id=2,Name="user1",Pwd="123"},
                     new User{Id=3,Name="user2",Pwd="123"}
                 };
                string tkey = "";
                GetTheSame(list, out tkey);
                //Console.WriteLine($"The Same is {tkey}");
                Console.ReadKey();
            }
            public static void GetTheSame(List<User> listOld, out string tkey/*,out User user*/)
            {
                tkey = null;
    
                var resulst = from x in listOld
                              group x by x.Name into g
                              select g;
    
    
                var result = from x in listOld
                             group x by x.Name into g        //根据 name 分组 返回 一个集合(集合中每个元素 又是一个集合)
                             where g.Count() > 1         // 集合中每个 元素集合行数大于1的
                             select g;     // g为  IGrouping<string,User>  类型
                //g里面有多对       string  List<User>
                //string 为 key     每个 string 又继而对应一个集合  集合元素类型为User
    
                //IGrouping<string,>  //表示具有公共键的对象的集合。
                foreach (var item in result)
                {
                    tkey = item.Key;
                }
            }
        }
        public class User
        {
            public string Name { get; set; }
            public int Id { get; set; }
            public string Pwd { get; set; }
    
        }
    }

     

    转载于:https://www.cnblogs.com/cjm123/p/9922740.html

    展开全文
  • linq重复

    千次阅读 2015-05-04 13:05:27
    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) {
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        
        class Program
        {
            static void Main(string[] args)
            {
                List<Class1> list = new List<Class1>()
                {
                    new Class1{ Name="a1", Url="http://www.baidu.com"},
                    new Class1{ Name="a2", Url="http://www.baidu.com"},
                    new Class1{ Name="a3", Url="http://www.google.com"}
                };
    
               // var result = list.Distinct(new Class1Compare()).Take(5).ToList();
                var result = list.GroupBy(x => x.Url).Select(x => x.First()).Take(5).ToList();
                result.ForEach(x => Console.WriteLine("A:{0},B:{1}",x.Name,x.Url));
                
                Console.ReadKey();
            }
        }
    
        public class Class1
        {
            public string Name { get; set; }
            public string Url { get; set; }
        }
    
        public class Class1Compare : IEqualityComparer<Class1>
        {
            public bool Equals(Class1 x, Class1 y)
            {
                return string.Equals(x.Url, y.Url);
            }
    
            public int GetHashCode(Class1 obj)
            {
                if (Object.ReferenceEquals(obj, null)) return 0;
                return obj.Url.GetHashCode();
    
            }
    
        }
    }
    

    展开全文
  • Linq去除重复的数据

    千次阅读 2013-11-06 16:29:17
    Linq去除重复的数据
  • LINQ排除重复的list 免费下载
  • linq剔除重复

    2016-10-20 14:43:00
    本篇文章对Linq的Distinct进行了详细的分析介绍,需要的朋友参考下 假设我们有一个类:Productpublic class Product{ public string Id { get; set; } public string Name { get; set; }}Main函数如下:...
  • 使用LINQ检索重复

    2019-06-04 09:18:37
    日常工作的时候,我们经常遇到需要检索一组数据中是否有重复值的情况,再根据具体情况进行相应的操作。如果不使用LINQ,那我们就得使用一层一层的foreach循环来做,不但麻烦、工作效率低(因为你得绕啊~~绕啊~~~),...
  • c#,winform代码, 用linq方式在一组文件夹及两组文件夹中查找重复文件,并可移动或删除重复文件 成品,在10万级别以上文件中试用,效果良好
  • 杂七杂八——使用LINQ检索重复值 日常工作的时候,我们经常遇到需要检索一组数据中是否有重复值的情况,再根据具体情况进行相应的操作。如果不使用LINQ,那我们就得使用一层一层的foreach循环来做,不但麻烦、工作...
  • linq筛选重复记录

    2013-07-06 11:33:40
    返回A表记录,如下: aid name 2 peter 2 peter 3 donnie list是返回以上的结果。...现在想通过linq,来筛选掉重复记录 得到最终结果为 2 peter 3 donnie 并以list返回…… 请教!
  • 通过Linq查找重复数据

    2019-04-28 16:54:00
    一、模拟初始化集合数据 List<Student> students = new List<Student>() { new Student(){ Age=18,Name="jom"}, new Student(){ Age=28,Name="bom"}, ...
  • linq重复问题

    2012-08-23 10:47:02
    return db.product.Where(t => t.p_type == type).Distinct().ToList();这样去除重复数据,没有效果,求教
  • if (items.Count() > 0)//存在重复数据 { string SameSapComCode = string.Empty; foreach (var item in items) { SameSapComCode += item.sapComCode + ";\n"; } SameSapComCode = SameSapComCode.TrimEnd(';'); ...
  • linq查询不重复

    2015-05-04 11:58:54
    以下代码,查询Url不重复的前5条数据,linq怎么写。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { ...
  • linq list去除重复

    2015-10-11 10:49:27
    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication5 { class Program { static void Main(string[] args)
  • 1, 两个List泛型用Linq重复数据 Code: List<string> lstA = new List<string> { "E00401501B652563", "E00401501B652564", "E00401501B652565", "E00401501B652566", "E00401501B652567", "E004....
  • LINQ 过滤重复字段值

    2010-10-15 15:07:00
    var sizelist= (from p in stockList select p.Size).Distinct().ToArray(); 转载于:https://www.cnblogs.com/andiki/archive/2010/10/15/1852245.html
  •  private void CheckKey(DataTable dt ,string key... Console.WriteLine("键值:{0} 重复次数:{1}", t.key, t.value);  }  } 转载于:https://www.cnblogs.com/DonaldTang/archive/2011/04/08/2009602.html
  • var data = (from u in _stone_storageService.LoadSearchData(roleQuery).AsEnumerable() select new { ... 以S_Number字段去除重复值,其余字段可以有重复值。 求大神指教!!!
  • 转载:...只可惜linq默认不支持.Distinct(p => p.ID); 试想如果能写成下面的样子,是不是更简单优雅: var p1 = products.Distinct(p => p.ID);...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 765
精华内容 306
关键字:

linq重复