C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のArray.TrueForAll()メソッドの使い方を徹底解説

C#のArray.TrueForAll()メソッドは、配列内のすべての要素が、指定された述語(Predicate)で定義された条件に一致するかどうかを判定するために使用されます。すべての要素が条件を満たす場合は true を返し、1つでも条件を満たさない要素が存在する場合は false を返します。

構文

このメソッドの構文は以下のとおりです。

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

パラメータ

  • array:判定対象となる配列(1次元配列で、インデックスが0から始まる必要があります)
  • match:各要素に対して適用される条件を定義するPredicateデリゲート

戻り値

配列内のすべての要素が指定された条件に一致すれば true、それ以外は false を返します。また、配列が null の場合や、要素数が0の場合には ArgumentNullException または false が適切に処理されます。

実装例

それでは、Array.TrueForAll()メソッドを実装したサンプルコードを見てみましょう。この例では、文字列型の配列のすべての要素が「b」で始まるかどうかを判定します。

using System;
public class Demo{
   public static void Main(){
      Console.WriteLine("配列の要素...");
      string[] arr = { "bike", "bus"};
      for (int i = 0; i < arr.Length; i++){
         Console.Write("{0} ", arr[i]);
      }
      Console.WriteLine();
      int lastIndex = Array.LastIndexOf(arr, "bus");
      Console.WriteLine("要素busの最後の出現位置(インデックス)= " + lastIndex);
      bool res = Array.TrueForAll(arr, ele => ele.StartsWith("b",
      StringComparison.Ordinal));
      if (res)
         Console.Write("配列内のすべての要素が、指定された述語で定義された条件に一致しています。");
      else
         Console.Write("配列内の要素の中に、指定された述語で定義された条件に一致しないものがあります。");
   }
}

コードのポイント

  • ラムダ式 ele => ele.StartsWith("b", StringComparison.Ordinal) により、各要素が「b」で始まるかどうかをチェックしています。
  • StringComparison.Ordinal を指定することで、大文字小文字を区別した厳密な比較を行います。
  • あわせて Array.LastIndexOf() メソッドを使用し、要素「bus」が配列内で最後に現れるインデックス位置も取得して表示しています。

実行結果

上記のコードを実行すると、以下のような出力が得られます。

配列の要素...
bike bus
要素busの最後の出現位置(インデックス)= 1
配列内のすべての要素が、指定された述語で定義された条件に一致しています。

この例では、配列の要素である「bike」と「bus」はどちらも「b」で始まるため、TrueForAll()メソッドは true を返し、すべての要素が条件に一致していることが確認できます。

まとめ

Array.TrueForAll()メソッドを使うことで、ループ処理を明示的に書くことなく、配列全体が特定の条件を満たしているかどうかを簡潔に判定できます。類似のメソッドとして、一部の要素だけが条件に一致するかを調べる Array.Exists() や、条件に一致するすべての要素を取得する Array.FindAll() などもあります。用途に応じて使い分けると、より読みやすく保守性の高いコードを書くことができます。

  1. JavaScriptのarray.keys()メソッドとは?使い方とサンプルコードを解説

    JavaScriptのarray.keys()メソッドは、配列の各要素のキー(インデックス番号)のみを格納した配列イテレータオブジェクトを生成するメソッドです。返されたイテレータをfor...ofループなどで反復処理すると、「0」「1」「2」といったインデックスを順番に取り出すことができます。 基本構文 arr.keys() このメソッドは引数を受け取らず、元の配列を変更しない(非破壊的な)ため、安全に利用できます。 サンプルコード 以下は、array.keys()メソッドを使用した具体的なコード例です。「CLICK HERE」ボタンをクリックすると、配列のキーが画面に表示されます。 &l

  2. JavaScriptのArray.from()メソッドとは?使い方と実例をわかりやすく解説

    Array.from()メソッドは、配列風オブジェクト(array-like)や反復可能オブジェクト(iterable)から、新しい配列オブジェクトを作成するための便利なメソッドです。文字列、Map、Set、NodeListなど、さまざまなデータを手軽に配列へ変換できます。 Array.from()の基本的な動作 例えば、文字列「HelloWorld」に対してArray.from()を使用すると、1文字ずつ分割された新しい配列が生成されます。以下に実際のコード例を示します。 サンプルコード <!DOCTYPE html> <html lang="ja"&g