C# Array.TrueForAll ExampleUse the Array.TrueForAll method to test elements with a Predicate lambda expression.
dot net perls
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.
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
Lambda We specify the second argument with lambda expression syntax, which is a shorter way of writing a method.
C# program that uses Array.TrueForAll
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); } }
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, False
Info We see that Array.TrueForAll correctly applies the predicate to every element in the array.
C# program that uses TrueForAll, false result
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); } }
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.
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.
© 2007-2021 sam allen. see site info on the changelog