LINQ的All的方法

方法All返回布尔值bool,判断集合中是否所有元素都满足某一条件,通俗一点说,就是每一个元素,均符合同一个条件,它才返回真,不然返回假。

举列,创建一个model:

source code:

namespace Insus.NET.Models
{
   public class Book
    {
        public string Publishing { get; set; }

        public string ISBN { get; set; }

        public DateTime PublicationDate  { get; set; }
    }
}

在ASP.NET MVC的视图片中,实现:

source code:

 Book[] books = { new Book { Publishing = "商务出版社",ISBN="13468564394",PublicationDate=Convert.ToDateTime("2016-04-13")},
                             new Book { Publishing = "中华出版社",ISBN="56634565746",PublicationDate=Convert.ToDateTime("2016-01-19")},
                             new Book { Publishing = "海天出版社",ISBN="78234235454",PublicationDate=Convert.ToDateTime("2016-03-22")},
                             new Book { Publishing = "云贵出版社",ISBN="46724356756",PublicationDate=Convert.ToDateTime("2016-02-22")}
            };

            IEnumerable<Book> query = from bk in books
                                      where books.All(b => b.PublicationDate > Convert.ToDateTime("2016-01-01"))
                                      select bk;

            query.ForEach(delegate (Book b)
            {
                WriteLiteral(string.Format("publishing: {0}; ISBN: {1}; Publication Date: {2} <br />",
                                            b.Publishing,
                                            b.ISBN,
                                            b.PublicationDate.ToString("yyyy-MM-dd")));
            });

更好理解,修改一下:

时间: 2024-08-11 11:54:22

LINQ的All的方法的相关文章

使用Linq中的Distinct方法对序列进行去重操作

使用Linq提供的扩展方法Distinct可以去除序列中的重复元素. 该方法具有以下两种重载形式: (1)public static IEnumerable<TSource> Distinct<TSource>(this IEnumerable<TSource> source) (重载1) 通过使用默认的相等比较器对值进行比较并返回序列中的非重复元素. (2)publicstatic IQueryable<TSource> Distinct<TSour

LINQ中的扩展方法

LINQ中的where(),OderByDescending().Select()并不是IEnumerable<T>的方法,却能使用这些方法,查阅了资料发现是用到了C#的扩展方法. 举个小例子: 定义一个静态类StringExtension和静态方法Foo,关键字this. public static class StringExtension { public static void Foo(this string s) { Console.WriteLine("Foo invok

Linq中常用的方法

这几天闲着也是闲着,就仔细的研究了一下Linq的语法,还有他的一些扩展方法的使用. 下面是一些常用的扩展方法. Aggregate 自定义的聚合计算 All 检测序列中所有元素是否都满足指定的条件 Any 检测序列中是否存在满足指定条件的元素 Average 计算序列中元素的平均值 Cast 将序列中元素的类型转换成指定的类型(由TResult参数指定) Contact 将一个序列中的元素全部追加到另一个序列中,并构成一个新的序列. Contains 检测序列中是否存在指定的元素. Count

linq查询语法和方法

1. Select Select操作符对单个序列或集合中的值进行投影.下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataContext db=new NorthwindDataContext()) { //linq查询语法(基本语法) var query = from e in db.Employees where e.FirstName.StartsWith("M") select e; //linq方法语法(基本方法) v

linq to sql 扩展方法

老赵的博客:http://blog.zhaojie.me/2008/02/using-translate-method-and-modify-command-text-before-query-in-linq-to-sql.html http://www.csharpwin.com/dotnetspace/9639r2943_2.shtml 1.DataContext扩展方法 public static class DataContextExentions { /// <summary> //

c# 中Linq Lambda 的ToLookup方法的使用

同样直接上代码: List<Student> ss = new List<Student>(); Student ss1 = new Student() { Id = 1, Age = 1, Name = "11" }; Student ss2 = new Student() { Id = 1, Age = 1, Name = "11" }; Student ss3 = new Student() { Id = 2, Age = 2, Nam

LinQ 各种数据库查询方法

1.多条件查询: 并且 && 或者 || var list = con.car.Where(r => r.code == "c014" || r.oil == 8.2m); 2.模糊查询 1.模糊 var list = con.car.Where(r => r.name.Contains("AT")); 2.开头 var list = con.car.Where(r => r.name.StartsWith("皇冠&quo

LINQ查询中常见方法

1.分组连接 格式:From elementA in dataSourceA join elementB in dataSourceB on exp1 equals exp2 into grpName 例:From book in Books join author in Authors on book.id equals author.id into result 意义:遍历Books集合中的每个对象,并将book中的book.id与Authors集合中的每个author中的author.id

使用Linq求和方法Sum计算集合中多个元素和时应该注意的性能问题

提出问题 本文使用下面的实例来说明问题,以下是实例的完整代码. //************************************************************ // // Sum应用示例代码 // // Author:三五月儿 // // Date:2014/09/10 // // http://blog.csdn.net/yl2isoft // //**********************************************************