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

C#のラムダ式とは?「=>」演算子の基本構文と実用例を解説

ラムダ式とは

C#におけるラムダ式(lambda expression)は、処理内容を簡潔に記述するための無名関数の一種です。メソッド名を持たないインライン処理として定義でき、デリゲートや式木(expression tree)に代入できます。LINQなどの場面で特に活躍し、モダンなC#プログラミングには欠かせない機能となっています。

「=>」演算子の意味と読み方

ラムダ式では、式の中に「=>」というトークンを使用します。この記号は「goes to(〜へ渡す)」と読まれ、左辺の入力パラメータを受け取り、右辺の式またはステートメントブロックへ処理を渡す役割を担います。ラムダ式を宣言する際に必ず登場する重要な演算子です。

基本構文

(入力パラメータ) => 式またはステートメントブロック

サンプル:リストから50より大きい要素を検索する

ここでは、リストの中から50より大きい値が最初に出現するインデックスを、ラムダ式を使って検索してみましょう。List.FindIndexメソッドの引数として「x => x > 50」というラムダ式を渡すことで、「各要素xが50より大きいかどうか」という判定条件をその場で簡潔に定義できます。

コード例

using System;
using System.Collections.Generic;

class Demo {
    static void Main() {
        List<int> list = new List<int> { 44, 6, 34, 23, 78 };

        int res = list.FindIndex(x => x > 50);
        Console.WriteLine("Index: " + res);
    }
}

実行結果

Index: 4

リスト { 44, 6, 34, 23, 78 } の中で、50より大きい最初の要素は78です。インデックスは0から始まるため、その位置は4となり、結果として「Index: 4」が出力されます。

まとめ

ラムダ式を使えば、名前のない小さな処理をその場で定義でき、コードを大幅に簡潔にできます。FindIndexのほかにも、WhereSelectといったLINQメソッドと組み合わせることで、条件指定やデータ変換を直感的かつ読みやすく記述できるようになります。まずは簡単な条件判定から、ラムダ式の活用に慣れていくのがおすすめです。

  1. C#のラムダ式とは?「=>」演算子の基本と使い方を実例付きで解説

    C#におけるラムダ式は、処理の内容を簡潔に記述するためのパターンです。式の中では => というトークンが使われ、これは「goes to(ゴーズ・トゥ)」演算子と呼ばれ、「〜へ渡す」という意味で読みます。ラムダ式を宣言するときにこの演算子を使用します。ラムダ式の基本的な書き方ラムダ式は「引数 => 式またはステートメント」という形式で記述します。左辺に入力パラメータ、右辺にその処理内容や戻り値となる式を書きます。デリゲートやLINQメソッドと組み合わせることで、コードを非常にすっきりと表現できるのが特徴です。C#でのラムダ式の使用例以下は、リストから条件に合う要素のインデックスを検索

  2. Pythonのラムダ式とfilter()関数を実例でわかりやすく解説

    この記事では、Python 3.x(およびそれ以前のバージョン)におけるラムダ式と filter() 関数について学びます。どちらの機能もPythonの標準ライブラリに組み込まれており、追加のインポートなしですぐに利用できます。 ラムダ式とは? ラムダ式を使うと、インライン関数(その場で定義する小さな関数)を簡潔に記述できます。ラムダ式は、キーワード lambda の後にカンマ区切りの引数リストと、それらの引数を使って評価される式を続けて記述します。 構文 lambda 引数: 式 戻り値: 引数を式に代入して計算された値が返されます。 ラムダ式には関数名を付けないため、「匿名関数(無名関数)