[C#]リストから奇数の数値を抽出するには?

C#

どうも、ちょげ(@chogetarou)です。

リスト(List)から奇数の数値を抽出する方法を紹介します。

スポンサーリンク

方法

リスト(List)から奇数の数値を抽出する方法は、2つあります。

foreachループ

ひとつは、foreachループを使う方法です。

まず、空のリストを用意します。

foreachで対象のリストをループします。

foreachのループ処理内で、「ループ変数を2で割った結果が0でない」を条件に分岐します。

分岐内で、用意した空のリストからAdd()を呼び出し、Add()の引数にループ変数を指定します。

//ls=対象のリスト
List<int> result = new List<int>();
foreach (int item in ls) {
     if (item % 2 != 0) {
         result.Add(item);
     }
}

上記のforeachループは、対象のリストから奇数の数値を抽出し、用意したリストに格納します。

使用例

using System;
using System.Collections.Generic;
 
public class Example
{
	public static void Main()
	{
		List<int> nums = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
		
		List<int> result = new List<int>();
		foreach (int item in nums) {
		    if (item % 2 != 0) {
		        result.Add(item);
		    }
		}
		
		foreach (int item in result) {
		    Console.WriteLine(item);
		}
	}
}
出力:
1
3
5
7
9

Where()

もうひとつは、Where()を使う方法です。

まず、System.Linqを導入します。

using System.Linq;

次に、リストからWhere()を呼び出します。

Where()の引数に、条件式「引数 % 2 != 0」を返す関数を指定します。

そして、Where()からToList()を呼び出します。

//ls=対象のリスト
List<int> result = ls.Where(item => item % 2 != 0).ToList();

上記のWhere()とToList()は、呼び出したリストから奇数の数値を抽出した結果を取得します。

使用例

using System;
using System.Collections.Generic;
using System.Linq;
 
public class Example
{
	public static void Main()
	{
		List<int> nums = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
		
		List<int> result = nums.Where(item => item % 2 != 0).ToList();
		
		foreach (int item in result) {
		    Console.WriteLine(item);
		}
	}
}
出力:
1
3
5
7
9

まとめ

リスト(List)から奇数の数値を抽出する方法は、次の2つです。

  • foreachループを使う方法
  • Where()を使う方法
    List<int> result = ls.Where(item => item % 2 != 0).ToList();

コメント

タイトルとURLをコピーしました