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

C#でのラムダ式とは何ですか?


ラムダ式は、匿名メソッドを表すためのより良い方法です。匿名メソッドとLambda式の両方で、メソッドの実装をインラインで定義できますが、匿名メソッドでは、メソッドのパラメーター型と戻り型を明示的に定義する必要があります。

本体として式を持つ式ラムダ:(input-parameters)=> expression

本体としてステートメントブロックを持つステートメントラムダ:(input-parameters)=> {}

任意のラムダ式をデリゲート型に変換できます。ラムダ式を変換できるデリゲート型は、パラメーターの型と戻り値によって定義されます。ラムダ式が値を返さない場合は、アクションデリゲートタイプの1つに変換できます。それ以外の場合は、Funcデリゲートタイプの1つに変換できます。

static void Main(string[] args){
   Func<int, int> square = x => x * x;
   Console.WriteLine(square(5));
   Console.ReadLine();
}

=>演算子の右側に式があるラムダ式は、式ラムダと呼ばれます。式ラムダは式の結果を返し、次の基本形式を取ります

アクションライン=()=> Console.WriteLine();

Func cube =x => x * x * x;

Func testForEquality =(x、y)=> x ==y;

Func isTooLong =(int x、string s)=> s.Length> x;

C#7.0、C#言語は、タプルの組み込みサポートを提供します。タプルをラムダ式の引数として指定できます。また、ラムダ式はタプルを返すこともできます。

ラムダ式内に導入された変数は、囲んでいるメソッドには表示されません。

ラムダ式は、囲んでいるメソッドからin、ref、またはoutパラメーターを直接キャプチャすることはできません。

ラムダ式のreturnステートメントは、囲んでいるメソッドを返しません。

そのジャンプステートメントのターゲットがラムダ式ブロックの外にある場合、ラムダ式にgoto、break、またはcontinueステートメントを含めることはできません。ターゲットがブロック内にある場合、ラムダ式ブロックの外にジャンプステートメントがあることもエラーです。


  1. IPアドレスとは何ですか?

    インターネットプロトコルアドレスの略であるIPアドレスは、ネットワークに接続されているネットワークハードウェアの識別番号です。 IPアドレスを持っていると、デバイスはインターネットなどのIPベースのネットワークを介して他のデバイスと通信できます。 IPアドレスはどのように見えますか? ほとんどのIPアドレスは次のようになります: 151.101.65.121 遭遇する可能性のある他のIPアドレスは、次のようになります。 2001:4860:4860::8844 IPアドレスは何に使用されますか? IPアドレスは、インターネット上のネットワークデバイスにIDを提供します。特

  2. Windows 11 SE とは何ですか?

    Chromebook と Chrome オペレーティング システムが教育市場をほぼ独占してきましたが、Microsoft はかなり長い間、競争の場に参入して平準化しようと試みてきました。 Windows 11 SE では、まさにそれを達成しようとしています。このオペレーティング システムは、K-8 クラスルームで作成されました 念頭に置いて。使いやすく、安全性が高く、機能が制限された低コストのコンピューターにより適していると考えられています。この新しい OS の開発中、Microsoft は教育者、学校の IT 担当者、および管理者と協力しました。 Windows 11 SE 用に特別に作成さ