Quantifiers
Method | Description | SQL equivalents |
---|---|---|
| Returns | |
| Returns | |
| Returns | |
| Returns |
Contains and Any
The Contains
method accepts
an argument of type TSource; Any
accepts an optional predicate.
Contains
returns true
if the given element is present:
bool isTrue = new int[] { 2, 3, 4}.Contains (3);
Any
returns true
if the given expression is true for at
least one element. We can rewrite the preceding query with Any
as follows:
bool isTrue = new int[] { 2, 3, 4 }.Any (n => n == 3);
Any
can do everything that
Contains
can do, and more:
bool isFalse = new int[] { 2, 3, 4 }.Any (n => n > 10);
Calling Any
without a
predicate returns true
if the
sequence has one or more elements. Here’s another way to write the
preceding query:
bool isFalse = new int[] { 2, 3, 4 } .Where (n => n > 10).Any();
Any
is particularly useful in
subqueries.
All and SequenceEqual
All
returns true
if all elements satisfy a predicate.
The following returns customers whose purchases are less than
$100:
dataContext.Customers.Where (c => c.Purchases.All (p => p.Price < 100));
SequenceEqual
compares two
sequences. To return true
, each
sequence must have identical elements, in the identical order.
Get LINQ Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.