(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Array.TrueForAll<T>-Methode

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
)

Typparameter

T

Der Typ der Elemente des Arrays.

Parameter

array
Typ: T[]
Eindimensionale, nullbasierte Array, dass die Anforderungen zu überprüfen.
match
Typ: System.Predicate<T>
Das Prädikat, das die Anforderungen definiert, um für die Elemente untersuchen.

Rückgabewert

Typ: System.Boolean
true , wenn jedes Element in array die vom angegebenen Prädikat definierten Bedingungen erfüllt, andernfalls false. Wenn es keine Elemente im Array gibt, ist der Rückgabewert true.

AusnahmeBedingung
ArgumentNullException

array ist null.

- oder -

match ist null.

Predicate<T> ist ein Delegat für eine Methode, die true zurückgibt, wenn das übergebene Objekt die im Delegaten definierten Bedingungen erfüllt. Die Elemente von array werden einzeln an Predicate<T> übergeben, und die Verarbeitung wird angehalten, wenn der Delegat für ein Element false zurückgibt.

Diese Methode ist eine O(n)-Operation, wobei n die Length von array ist.

Das folgende Beispiel ermittelt, ob das letzte Zeichen jedes Elements in einem Zeichenfolgenarray eine Zahl ist. Es erstellt zwei Zeichenfolgenarrays. Das erste Array enthält beide Zeichenfolgen, die mit alphabetischen Zeichen und Zeichenfolgen beenden, die mit numerischen Zeichen beendet. Das zweite Array besteht nur aus Zeichenfolgen dieses Ende mit numerischen Zeichen. Im Beispiel wird ebenfalls eine EndWithANumber-Methode, deren Signatur Predicate<T> den Delegaten übereinstimmt. Das Beispiel übergibt jedes Array an die TrueForAll<T>-Methode zusammen mit einem Delegaten, der die EndsWithANumber-Methode darstellt.


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 mit dem ersten ähnlich, es besteht das Zeichenfolgenarray an die TrueForAll<T>-Methode zusammen mit einem Lambda-Ausdruck, der bestimmt, ob ein Einzelheitsarrayelement mit der Zeichenfolgendarstellung einer Zahl endet.


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 gibt die TrueForAll<T>-Methode false zurück, sobald sie das erste Arrayelement trifft, das nicht in eine Zahl endet. Andernfalls wird true zurückgegeben, nachdem alle Elemente im Array durchlaufen haben.

HinweisHinweis

Da beide Beispiele, in C# und Visual Basic werden, ist es nicht erforderlich, den Delegaten Predicate<string> (Predicate(Of String) in Visual Basic) explizit zu erstellen. Diese Sprachen leiten den richtigen Delegaten aus dem Kontext ab und erstellen ihn automatisch.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft