C# Any Method, Returns True If Match Exists

Use the Any method from the System.Linq namespace. Any returns true if a match exists in a collection.

Any. This method receives a Predicate. It determines if a matching element exists in a collection. We could do this with a loop construct. But the Any extension method provides another way. It reduces code size.Extension

Example. Please include the System.Linq using directive at the top of your program. This allows you to call the Any extension. In this example, we see an array of 3 integer values. These values determine the results of the Any method.LINQInt Array

Methods: The first call tests for any even int. The second tests for any int greater than 3. The third checks for any int equal to 2.

Odd, Even

Tip: You can, when executing the program on your computer, change the expressions in the lambda to determine the correctness of the tests.

C# program that uses Any extension method using System; using System.Linq; class Program { static void Main() { int[] array = { 1, 2, 3 }; // See if any elements are divisible by two. bool b1 = array.Any(item => item % 2 == 0); // See if any elements are greater than three. bool b2 = array.Any(item => item > 3); // See if any elements are 2. bool b3 = array.Any(item => item == 2); // Write results. Console.WriteLine(b1); Console.WriteLine(b2); Console.WriteLine(b3); } } Output True False True

Internals. How does the Any method actually work? When you call the Any method, you are passing a Predicate type, which is a function with a bool result. Internally, the Any method loops through each element in the source collection.Predicate

Then: When it finds an element that the Predicate returns true for, the true result is propagated. It uses an early-exit.

Summary. The Any method evaluates a Predicate method on the source collection and returns a boolean indicating whether any element matches the Predicate. This method elegantly replaces imperative loop constructs.
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to