この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Array.TrueForAll<T> メソッド (T[], Predicate<T>)

 

公開日: 2016年10月

配列内のすべての要素が、指定された述語によって定義された条件と一致するかどうかを調べます。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

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

パラメーター

array
Type: T[]

条件が一致するかどうかをチェックする 1 次元の Array。インデックス番号は 0 から始まります。

match
Type: System.Predicate<T>

要素についてチェックする条件を定義する述語。

戻り値

Type: System.Boolean

array 内のすべての要素が、指定された述語によって定義された条件と一致する場合は true。それ以外の場合は false 配列内に要素がない場合、戻り値は true です。

型パラメーター

T

配列要素の型。

Exception Condition
ArgumentNullException

arraynull です。

-または-

matchnull です。

Predicate<T>を返すメソッドをデリゲートtrueデリゲートで定義された条件と一致する場合は、オブジェクトに渡されます。 要素arrayに個別に渡される、 Predicate<T>、デリゲートが返されるときの処理が停止およびfalse任意の要素。

このメソッドは、O (n) 操作では、ここでnは、Lengtharrayします。

次の例は、文字列の配列内の各要素の最後の文字が数字かどうかを判断します。 2 つの文字列配列を作成します。 両方の文字列のアルファベット文字と数字で終わる文字列で終わる最初 arrayincludes です。2 番目の配列は、数字で終わる文字列ののみで構成されます。 また、EndWithANumberメソッド シグネチャが一致する、Predicate<T>委任です。 各配列を渡します、TrueForAll<T>メソッドを表すデリゲートと、EndsWithANumberメソッドです。

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.

文字列配列を通過する点を除いて、次の例は、最初に似ています、TrueForAll<T>メソッドと、特定の配列要素は、数値の文字列形式で終わるかどうかを決定するラムダ式。

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.

どちらの場合、TrueForAll<T>メソッドを返します。false数値の中で終わっていない最初の配列要素に到達したとすぐにします。 返しますそれ以外の場合、true後、配列内のすべての要素を反復処理します。

System_CAPS_noteメモ

どちらの例から分かるように、c# および Visual Basic では、作成する必要はありません、Predicate<string>委任 (Predicate(Of String) Visual Basic の) 明示的にします。 これらの言語では、コンテキストから適切なデリゲートを推論し、自動的に作成します。

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
2.0 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Windows Phone Silverlight
8.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: