C# 3.0 からラムダ式を導入しています。匿名メソッドよりも強力かつ柔軟に機能する仕組みです。
ラムダ式は、簡潔に関数オブジェクトを記述する機能です。
以下のように記述します。
( 入力パラメータ ) => { 式 または ステートメントブロック }
デリゲート型へラムダ式を割り当てる例を以下に記載します。
using System;
namespace lambda_test
{
class Program
{
delegate int del(int i);
static void Main(string[] args)
{
del myDelegate = x => x * x;
int j = myDelegate(5);
Console.WriteLine("result: " + j);
Console.ReadLine();
}
}
}
式ツリーのデータとしてラムダ式を割り当てる例を以下に示します。
この例は、 Compile メソッドを使用して、式ツリーを実行可能コードに戻す方法も合わせて示しています。
(注) Expression は .NET3.5 以降で使用可能です。
using System;
using System.Linq.Expressions;
namespace lambda_test
{
class Program
{
static void Main(string[] args)
{
Expression<Func<int,int>> myET = x => x * x;
Func<int, int> myDelegate2 = myET.Compile();
int j = myDelegate2(5);
Console.WriteLine("result: " + j);
Console.ReadLine();
}
}
}
本ページの情報は、特記無い限り下記 MIT ライセンスで提供されます。
2022-08-16 | - | ページデザイン更新 |
2015-06-09 | - | 新規作成 |