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

Definizione

Determina se ogni elemento della matrice soddisfa le condizioni definite dal predicato specificato.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

Parametri di tipo

T

Tipo degli elementi della matrice.The type of the elements of the array.

Parametri

array
T[]

Oggetto Array unidimensionale e in base zero per cui verificare se le condizioni sono soddisfatte.The one-dimensional, zero-based Array to check against the conditions.

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

Predicato che definisce le condizioni da verificare negli elementi.The predicate that defines the conditions to check against the elements.

Restituisce

true se ogni elemento in array soddisfa le condizioni definite dal predicato specificato; in caso contrario, false.true if every element in array matches the conditions defined by the specified predicate; otherwise, false. Se la matrice non contiene elementi, il valore restituito è true.If there are no elements in the array, the return value is true.

Eccezioni

array è null.array is null.

In alternativa-or- match è null.match is null.

Esempi

Nell'esempio seguente viene determinato se l'ultimo carattere di ogni elemento in una matrice di stringhe è un numero.The following example determines whether the last character of each element in a string array is a number. Vengono create due matrici di stringhe.It creates two string arrays. La prima matrice include entrambe le stringhe che terminano con caratteri alfabetici e stringhe che terminano con caratteri numerici. La seconda matrice è costituita solo da stringhe che terminano con caratteri numerici.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. Nell'esempio viene inoltre definito un metodo EndWithANumber la cui firma corrisponde al delegato Predicate<T>.The example also defines an EndWithANumber method whose signature matches the Predicate<T> delegate. Nell'esempio viene passata ogni matrice al metodo TrueForAll insieme a un delegato che rappresenta il metodo EndsWithANumber.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.

L'esempio seguente è simile al primo, ad eccezione del fatto che passa la matrice di stringhe al metodo TrueForAll insieme a un'espressione lambda che determina se un determinato elemento della matrice termina con la rappresentazione di stringa di un numero.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.

In entrambi i casi, il metodo TrueForAll restituisce false non appena rileva il primo elemento della matrice che non termina con un numero.In both cases, the TrueForAll method returns false as soon as it encounters the first array element that does not end in a number. In caso contrario, restituisce true dopo l'iterazione di tutti gli elementi nella matrice.Otherwise, it returns true after iterating all the elements in the array.

Nota

Poiché entrambi gli esempi mostrano, C# in e Visual Basic, non è necessario creare in modo esplicito il delegato Predicate<string> (Predicate(Of String) in Visual Basic).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. Questi linguaggi deducono il delegato corretto dal contesto e lo creano automaticamente.These languages infer the correct delegate from context and create it automatically.

Commenti

Il Predicate<T> è un delegato a un metodo che restituisce @ no__t-1 se l'oggetto passato corrisponde alle condizioni definite nel delegato.The Predicate<T> is a delegate to a method that returnstrue if the object passed to it matches the conditions defined in the delegate. Gli elementi di array vengono passati singolarmente al Predicate<T> e l'elaborazione viene interrotta quando il delegato restituisce false per qualsiasi elemento.The elements of array are individually passed to the Predicate<T>, and processing is stopped when the delegate returns false for any element.

Questo metodo è un'operazione O (n), in cui n è il Length di array.This method is an O(n) operation, where n is the Length of array.

Si applica a

Vedi anche