Array.TrueForAll ExampleUse the Array.TrueForAll method to test elements with a Predicate lambda expression.
C#
Array.TrueForAll. This is a static Array method. It gives you a declarative way to test every element in your array for some condition using a Predicate.
Notes, method. TrueForAll scans the array and returns true or false. The Predicate is invoked for each element in the array. We determine whether it returns true for all elements.
Array
Predicate
First example. We demonstrate the Array.TrueForAll method. Our program uses an int array of 4 odd numbers. The Array.TrueForAll method is invoked and the predicate is specified.
int Array
Argument 1 This is the array that we are testing. In this program, this is the array of 4 integers called "values."
Argument 2 This is a predicate lambda. The predicate method returns true whenever a number is not evenly divisible by two.
Odd, Even
Detail We specify the second argument with lambda expression syntax, which is a shorter way of writing a method.
Lambda
using System; class Program { static void Main() { int[] values = { 1, 3, 5, 7 }; // See if modulo 2 is 1 for all elements. bool result = Array.TrueForAll(values, y => y % 2 == 1); Console.WriteLine("TRUEFORALL: {0}", result); } }
TRUEFORALL: True
Example, false. Here the numbers in the array are not all odd. Therefore the same Array.TrueForAll parameters will have the method return false.
true
Info We see that Array.TrueForAll correctly applies the predicate to every element in the array.
using System; class Program { static void Main() { int[] values = { 2, 5, 8 }; // Test for all odd numbers again. bool result = Array.TrueForAll(values, y => y % 2 == 1); Console.WriteLine("RESULT: {0}", result); } }
RESULT: False
Discussion. We could write a method that does the same thing as Array.TrueForAll. Test each element in a foreach-loop. Return early if an element doesn't match.
foreach
Info Typically, this sort of approach is much faster than using a call such as Array.TrueForAll.
However Array.TrueForAll is less familiar to programmers used to other languages. Its use might make a development team less efficient.
A summary. We used Array.TrueForAll. By applying the predicate argument to each element in the array argument, you can use it to test every element of the array for some condition.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.