Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Array.TrueForAll<T>-Methode: (T[], Predicate<T>)

 

Veröffentlicht: Oktober 2016

Bestimmt, ob jedes Element im Array die vom angegebenen Prädikat definierten Bedingungen erfüllt.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static bool TrueForAll<T>(
	T[] array,
	Predicate<T> match
)

Parameter

array
Type: T[]

Das eindimensionale nullbasierte Array, das auf die Bedingungen geprüft werden soll.

match
Type: System.Predicate<T>

Das Prädikat, das die Bedingungen definiert, auf die die Elemente geprüft werden sollen.

Rückgabewert

Type: System.Boolean

true, wenn jedes Element im array die vom angegebenen Prädikat definierten Bedingungen erfüllt, andernfalls false. Wenn keine Elemente im Array vorhanden sind, lautet der Rückgabewert true.

Typparameter

T

Der Typ der Elemente des Arrays.

Exception Condition
ArgumentNullException

array ist null.

- oder -

match ist null.

Die Predicate<T> ist ein Delegat an eine Methode, die zurückgibttrue an das Objekt übergeben sie die Bedingungen definiert, die im Delegaten übereinstimmt. Die Elemente der array einzeln übergeben werden, um die Predicate<T>, und die Verarbeitung wird beendet, wenn der Delegat zurückgegeben false für ein bestimmtes Element.

Diese Methode ist eine O (n)-Vorgang, in dem n ist die Length von array.

Im folgenden Beispiel wird bestimmt, ob das letzte Zeichen der einzelnen Elemente in einem Zeichenfolgenarray eine Zahl ist. Es werden zwei Zeichenfolgen-Arrays erstellt. Die erste Arrayincludes beide Zeichenfolgen, die diesem Ende mit alphabetische Zeichen und Zeichenfolgen, die mit numerischen Zeichen enden. Das zweite Array besteht ausschließlich aus Zeichenfolgen, die mit numerischen Zeichen enden. Im Beispiel definiert auch eine EndWithANumber Methode, deren Signatur entspricht, der Predicate<T> delegieren. Das Beispiel übergibt jedes Array an die TrueForAll<T> -Methode zusammen mit einem Delegaten, der darstellt die EndsWithANumber Methode.

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.

Das folgende Beispiel ist ähnlich wie die erste, außer dass das Zeichenfolgenarray übergibt, das TrueForAll<T> -Methode zusammen mit einem Lambda-Ausdruck, der bestimmt, ob eine bestimmte Arrayelement durch die Zeichenfolgendarstellung einer Zahl enden.

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.

In beiden Fällen die TrueForAll<T> -Methode zurückkehrt false , sobald er das erste Arrayelement trifft, die nicht in eine Zahl endet. Andernfalls wird zurückgegeben true nach Iteration alle Elemente im Array.

System_CAPS_noteHinweis

Analog zur Darstellung der beiden Beispielen in c# und Visual Basic, ist es nicht notwendig, erstellen Sie die Predicate<string> delegieren (Predicate(Of String) in Visual Basic) explizit. Diese Sprachen leiten den richtigen Delegaten aus Kontext und automatisch zu erstellen.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: