C#のラムダ式とは?「=>」演算子の基本と使い方を実例付きで解説
C#におけるラムダ式は、処理の内容を簡潔に記述するためのパターンです。式の中では => というトークンが使われ、これは「goes to(ゴーズ・トゥ)」演算子と呼ばれ、「〜へ渡す」という意味で読みます。ラムダ式を宣言するときにこの演算子を使用します。
ラムダ式の基本的な書き方
ラムダ式は「引数 => 式またはステートメント」という形式で記述します。左辺に入力パラメータ、右辺にその処理内容や戻り値となる式を書きます。デリゲートやLINQメソッドと組み合わせることで、コードを非常にすっきりと表現できるのが特徴です。
C#でのラムダ式の使用例
以下は、リストから条件に合う要素のインデックスを検索する際に、ラムダ式を使ったサンプルコードです。
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
List<int> list = new List<int>() { 21, 17, 40, 11, 9 };
int res = list.FindIndex(x => x % 2 == 0);
Console.WriteLine("Index: " + res);
}
}実行結果
Index: 2
コードの解説
上記の例では、「goes to」演算子(=>)を使って、偶数のインデックスを検索しています。
list.FindIndex(x => x % 2 == 0);
このラムダ式では、各要素 x を受け取り、x % 2 == 0(xを2で割った余りが0、つまり偶数であるか)という条件を判定しています。FindIndex メソッドは、この条件を満たす最初の要素のインデックスを返します。
実行結果を見ると、出力は以下のようになります。
Index: 2
つまり、偶数はインデックス2の位置にあり、リストの3番目の要素(値は40)であることがわかります。
まとめ
ラムダ式は、短い処理をその場で定義できる便利な構文です。「=>」演算子の左側に引数、右側に処理を書くだけで、匿名メソッドよりも簡潔にコードを表現できます。LINQの Where や Select など、さまざまな場面で活用されるため、C#プログラミングにおいて必ず押さえておきたい基本概念の一つです。
-
JavaScriptの正規表現(RegExp)とは?基本構文と使い方をわかりやすく解説
JavaScriptの正規表現とは 正規表現(Regular Expression)とは、文字列の中から特定のパターンを記述・検索するためのオブジェクトです。JavaScriptではRegExpクラスが正規表現を表しており、StringオブジェクトとRegExpオブジェクトの両方に、強力なパターンマッチングや文字列の検索・置換を実現するメソッドが用意されています。 正規表現の定義方法 JavaScriptで正規表現を定義するには、RegExp()コンストラクタを使う方法と、リテラル記法を使う方法の2通りがあります。 var pattern = new RegExp(pattern, att
-
JavaScriptの関数式(Function Expression)とは?特徴と使い方を解説
JavaScriptにおける関数式(Function Expression)とは、関数を変数に代入して定義する方法のことです。代入された関数は、その変数名を使って後から呼び出すことができます。 関数式の主な特徴 関数を変数に格納し、変数名を指定して呼び出せる 通常の関数宣言(function declaration)と異なり、ホイスティング(巻き上げ)が行われないため、定義よりも前に呼び出すことはできない 多くの場合、名前を持たない「無名関数(匿名関数)」として定義される コールバック関数や即時実行関数(IIFE)など、さまざまな場面で活用できる この「ホイスティングされない」という点が重