LINQ系列:Linq to Object量词操作符

  量词操作符返回一个Boolean值,指示序列中是否存在部分或全部元素符号指定条件。LINQ中量词操作符包括:All、Any和Contains。

1. All

  All操作符判定在集合中是否所有的值都满足指定的条件。返回值是一个Boolean值。如果所有值都满足条件则返回true,否则返回false。

1>. 原型定义

public static bool All<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);

2>. 示例

int[] fibonacci = new int[] { 1, 1, 2, 3, 5, 8, 13, 21 };
var expr = fibonacci.All(f => f > 2); // false
var expr = context.Products
    .All(p => p.UnitPrice > 10m);

2. Any

  Any操作符判定一个集合中是否有任何满足指定条件的值,或者一个序列中是否包含有满足指定条件的元素。返回结果是一个Boolean值。如果存在至少一个值满足条件则返回true,否则返回false。

1>. 原型定义

public static bool Any<TSource>(this IQueryable<TSource> source);
public static bool Any<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);

2>. 示例

int[] fibonacci = new int[] { 1, 1, 2, 3, 5, 8, 13, 21 };
var expr = fibonacci.Any(f => f > 2); // true
var expr = context.Products
    .Any(p => p.UnitPrice > 10m);

3. Contains

  Contains操作符判定返回的计划是否包含指定的元素。返回值是一个Boolean值。如果存在满足条件的元素则返回true,否则返回false。

1>. 原型定义

public static bool Contains<TSource>(this IQueryable<TSource> source, TSource item);
public static bool Contains<TSource>(this IQueryable<TSource> source, TSource item, IEqualityComparer<TSource> comparer);

2>. 示例

int[] fibonacci = new int[] { 1, 1, 2, 3, 5, 8, 13, 21 };
var expr = fibonacci.Contains(2); // true
var expr = context.Products
    .Select(p=>p.UnitPrice)
    .Contains(10m);
var expr = from p in context.Products
            where (new string[] { "LINQ to Object", "LINQ to ADO.NET" }).Contains(p.ProductName)
            select new { 商品名称 = p.ProductName, 单价 = p.UnitPrice };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值