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

C#で指定した条件に一致するリスト内の最初の要素を取得する方法

C#のリスト(List<T>)から、指定された条件に一致する最初の要素を取得したい場合は、Find()メソッドを使用します。Find()メソッドは、引数として渡された述語(条件を判定するデリゲート)が true を返す最初の要素を検索し、その値を返します。

例1:10の倍数となる最初の要素を検索する

以下のコードでは、10で割り切れる数値(10の倍数)という条件に一致する、リスト内の最初の要素を検索しています。

using System;
using System.Collections.Generic;

public class Demo {
   private static bool demo(int i){
      return ((i % 10) == 0);
   }
   public static void Main(String[] args){
      List<int> list = new List<int>();
      list.Add(200);
      list.Add(215);
      list.Add(310);
      list.Add(500);
      list.Add(600);
      Console.WriteLine("リストの要素...");
      foreach (int i in list){
         Console.WriteLine(i);
      }
      Console.WriteLine("最初に出現する要素 = " + list.Find(demo));
   }
}

出力結果

リストの要素...
200
215
310
500
600
最初に出現する要素 = 200

この例では、リストの先頭にある「200」がすでに10の倍数であるため、それがそのまま結果として返されています。

例2:偶数となる最初の要素を検索する

次に、別の例を見てみましょう。今度は「2で割り切れる数値(偶数)」という条件で検索します。

using System;
using System.Collections.Generic;

public class Demo {
   private static bool demo(int i){
      return ((i % 2) == 0);
   }
   public static void Main(String[] args){
      List<int> list = new List<int>();
      list.Add(255);
      list.Add(315);
      list.Add(410);
      list.Add(500);
      list.Add(600);
      list.Add(710);
      list.Add(800);
      list.Add(1000);
      Console.WriteLine("リストの要素...");
      foreach (int i in list){
         Console.WriteLine(i);
      }
      Console.WriteLine("最初に出現する要素 = " + list.Find(demo));
   }
}

出力結果

リストの要素...
255
315
410
500
600
710
800
1000
最初に出現する要素 = 410

この例では、リストの先頭から順に判定が行われ、「255」と「315」は奇数のため条件を満たさず、最初の偶数である「410」が結果として返されています。

ポイント

  • Find()メソッドは、条件に一致する最初の要素のみを返します。
  • 条件に一致する要素が存在しない場合、参照型なら null、値型なら既定値(default(T))が返されます。
  • 条件に一致するすべての要素を取得したい場合は、代わりに FindAll() メソッドを使用します。
  1. 【C#】リストから最初の3つの要素を取得する方法(Take()メソッドの使い方)

    C#でリストの先頭から任意の数の要素を取得するには、Take()メソッドを使用します。Take()はSystem.Linq名前空間に含まれるLINQ拡張メソッドで、シーケンスの先頭から指定した数の要素だけを取り出すことができます。まず、リストを作成して要素を追加します。List<string> myList = new List<string>(); myList.Add("One"); myList.Add("Two"); myList.Add("Three"); myList.Add("Four&

  2. Pythonでリスト内の各要素の出現回数をサブリストとして作成する方法

    Pythonでは、数値を要素とするリストを扱う際に、同じ値が複数回出現することがよくあります。この記事では、リスト内の各要素とその出現回数(頻度)をペアにしたサブリストを作成する方法を、2つのアプローチで解説します。 方法1:forループとappendを使う まずは基本的な方法です。リスト内の各要素について、それ以降のすべての要素と比較し、一致するものがあればカウントを増やしていきます。最終的に「要素」と「その出現回数」を組み合わせたサブリストのリストを作成します。 コード例 def occurrences(list_in): result = [] checked = []