Array.TrueForAll(T[], Predicate<T>) Array.TrueForAll(T[], Predicate<T>) Array.TrueForAll(T[], Predicate<T>) Array.TrueForAll(T[], Predicate<T>) Method

Definición

Determina si cada elemento de la matriz cumple las condiciones definidas por el predicado especificado.Determines whether every element in the array matches the conditions defined by the specified predicate.

public:
generic <typename T>
 static bool TrueForAll(cli::array <T> ^ array, Predicate<T> ^ match);
public static bool TrueForAll<T> (T[] array, Predicate<T> match);
static member TrueForAll : 'T[] * Predicate<'T> -> bool
Public Shared Function TrueForAll(Of T) (array As T(), match As Predicate(Of T)) As Boolean

Parámetros de tipo

T

Tipo de los elementos de la matriz.The type of the elements of the array.

Parámetros

array
T[]

Matriz Array unidimensional de base cero en la que se van a comprobar las condiciones.The one-dimensional, zero-based Array to check against the conditions.

match
Predicate<T> Predicate<T> Predicate<T> Predicate<T>

El predicado que define las condiciones que se van a comprobar en los elementos.The predicate that defines the conditions to check against the elements.

Devoluciones

true si cada elemento de array cumple las condiciones definidas por el predicado especificado; de lo contrario, false.true if every element in array matches the conditions defined by the specified predicate; otherwise, false. Si no hay ningún elemento en la matriz, el valor devuelto es true.If there are no elements in the array, the return value is true.

Excepciones

El valor de array es null.array is null.

-o bien--or- El valor de match es null.match is null.

Ejemplos

El ejemplo siguiente determina si el último carácter de cada elemento de una matriz de cadenas es un número.The following example determines whether the last character of each element in a string array is a number. Crea dos matrices de cadenas.It creates two string arrays. La primera matriz incluye cadenas que finalizan con caracteres alfabéticos y cadenas que finalizan con caracteres numéricos. La segunda matriz consta solo de cadenas que finalizan con caracteres numéricos.The first array includes both strings that end with alphabetic characters and strings that end with numeric characters.The second array consists only of strings that end with numeric characters. El ejemplo también define un EndWithANumber método cuya firma coincida con el Predicate<T> delegar.The example also defines an EndWithANumber method whose signature matches the Predicate<T> delegate. En el ejemplo se pasa cada matriz a la TrueForAll método junto con un delegado que representa el EndsWithANumber método.The example passes each array to the TrueForAll method along with a delegate that represents the EndsWithANumber method.

using System;

public class Example
{
   public static void Main()
   {
      String[] values1 = { "Y2K", "A2000", "DC2A6", "MMXIV", "0C3" };
      String[] values2 = { "Y2", "A2000", "DC2A6", "MMXIV_0", "0C3" };


      if (Array.TrueForAll(values1, EndsWithANumber))
         Console.WriteLine("All elements end with an integer.");
      else
         Console.WriteLine("Not all elements end with an integer.");
       
      if (Array.TrueForAll(values2, EndsWithANumber))
         Console.WriteLine("All elements end with an integer.");
      else
         Console.WriteLine("Not all elements end with an integer.");
   }

   private static bool EndsWithANumber(String value) 
   {
      int s;
      return Int32.TryParse(value.Substring(value.Length - 1), out s);
   }
}
// The example displays the following output:
//       Not all elements end with an integer.
//       All elements end with an integer.
Module Example
   Public Sub Main()
      Dim values1() As String = { "Y2K", "A2000", "DC2A6", "MMXIV", "0C3" }
      Dim values2() As String = { "Y2", "A2000", "DC2A6", "MMXIV_0", "0C3" }


      If Array.TrueForAll(values1, AddressOf EndsWithANumber) Then
         Console.WriteLine("All elements end with an integer.")
      Else
         Console.WriteLine("Not all elements end with an integer.")
      End If  
       
      If Array.TrueForAll(values2, AddressOf EndsWithANumber) Then
         Console.WriteLine("All elements end with an integer.")
      Else
         Console.WriteLine("Not all elements end with an integer.")
      End If   
   End Sub

   Private Function EndsWithANumber(value As String) As Boolean
      Dim s As Integer
      Return Int32.TryParse(value.Substring(value.Length - 1), s)
   End Function
End Module
' The example displays the following output:
'       Not all elements end with an integer.
'       All elements end with an integer.

El ejemplo siguiente es similar a la primera, excepto en que pasa la matriz de cadenas para el TrueForAll método junto con una expresión lambda que determina si un elemento de matriz en particular termina con la representación de cadena de un número.The following example is similar to the first, except that it passes the string array to the TrueForAll method along with a lambda expression that determines whether a particular array element ends with the string representation of a number.

using System;

public class Example
{
   public static void Main()
   {
      String[] values = { "Y2K", "A2000", "DC2A6", "MMXIV", "0C3" };
      if (Array.TrueForAll(values, value => {
                                      int s; 
                                      return Int32.TryParse(value.Substring(value.Length - 1), out s); }
                                   ))
         Console.WriteLine("All elements end with an integer.");
      else
         Console.WriteLine("Not all elements end with an integer.");
   }
}
// The example displays the following output:
//        Not all elements end with an integer.
Module Example
   Public Sub Main()
      Dim values() As String = { "Y2K", "A2000", "DC2A6", "MMXIV", "0C3" }
      'Dim values2() As String = { "Y2", "A2000", "DC2A6", "MMXIV_0", "0C3" }

      If Array.TrueForAll(values, Function(value) 
                                     Dim s As Integer
                                     Return Int32.TryParse(value.Substring(value.Length - 1), s)
                                  End Function) Then
         Console.WriteLine("All elements end with an integer.")
      Else
         Console.WriteLine("Not all elements end with an integer.")
      End If   
   End Sub
End Module
' The example displays the following output:
'       Not all elements end with an integer.

En ambos casos, el TrueForAll devuelve del método false tan pronto como encuentra el primer elemento de matriz no termina con un número.In both cases, the TrueForAll method returns false as soon as it encounters the first array element that does not end in a number. De lo contrario, devuelve true después de recorrer en iteración todos los elementos de la matriz.Otherwise, it returns true after iterating all the elements in the array.

Nota

Como se muestra en ambos ejemplos, en C# y Visual Basic, no es necesario crear la Predicate<string> delegar (Predicate(Of String) en Visual Basic) explícitamente.As both examples show, in C# and Visual Basic, it is not necessary to create the Predicate<string> delegate (Predicate(Of String) in Visual Basic) explicitly. Estos lenguajes deducen al delegado correcto del contexto y lo crean automáticamente.These languages infer the correct delegate from context and create it automatically.

Comentarios

El Predicate<T> es un delegado a un método que devuelvetrue si el objeto pasado a coincide con las condiciones definidas en el delegado.The Predicate<T> is a delegate to a method that returnstrue if the object passed to it matches the conditions defined in the delegate. Los elementos de array individualmente se pasan a la Predicate<T>, y se detiene el procesamiento cuando el delegado devuelve false para cualquier elemento.The elements of array are individually passed to the Predicate<T>, and processing is stopped when the delegate returns false for any element.

Este método es O (n) operación, donde n es el Length de array.This method is an O(n) operation, where n is the Length of array.

Se aplica a

Consulte también: