Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah ungkapan Lambda dalam C#?

Apakah ungkapan Lambda dalam C#?

王林
王林ke hadapan
2023-09-08 14:25:15650semak imbas

Apakah ungkapan Lambda dalam C#?

Ekspresi Lambda ialah cara yang lebih baik untuk mewakili kaedah tanpa nama. Kedua-dua kaedah tanpa nama dan ungkapan lambda membolehkan anda mentakrifkan pelaksanaan kaedah sebaris, bagaimanapun, kaedah tanpa nama secara eksplisit memerlukan anda untuk menentukan jenis parameter kaedah dan jenis pulangan.

Ungkapan dengan ungkapan sebagai badan lambdanya: (input−parameters) => Ungkapan

Lambda pernyataan dengan blok pernyataan sebagai badannya: (input−parameters) => { }

Sebarang ungkapan lambda boleh ditukar kepada jenis perwakilan. Jenis perwakilan yang ungkapan lambda boleh ditukar kepada ditakrifkan oleh jenis parameter dan nilai pulangannya. Jika ungkapan lambda tidak mengembalikan nilai, ia boleh dihantar ke salah satu jenis perwakilan Tindakan jika tidak, ia boleh dihantar ke salah satu jenis perwakilan Func.

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

=> Ungkapan lambda dengan ungkapan di sebelah kanan pengendali dipanggil ungkapan lambda. Ekspresi lambda mengembalikan hasil ungkapan dan mengambil bentuk asas berikut

Action line = () => Console.WriteLine();

Funccube = x => x * x * x

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

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

Dalam C# 7.0, bahasa C# menyediakan sokongan terbina dalam untuk tupel. Anda boleh memberikan tupel sebagai hujah kepada ungkapan lambda dan ungkapan lambda anda juga boleh mengembalikan tupel.

Pembolehubah yang diperkenalkan dalam ungkapan lambda tidak kelihatan dalam kaedah lampiran.

Ungkapan Lambda tidak boleh menangkap parameter masuk, ref atau keluar terus daripada kaedah yang disertakan.

Pernyataan pulangan dalam ungkapan lambda tidak menyebabkan kaedah lampiran dikembalikan.

Jika sasaran pernyataan lompat berada di luar blok ungkapan lambda, ungkapan lambda tidak boleh mengandungi pernyataan goto, break atau continue. Ia juga merupakan ralat untuk menggunakan pernyataan lompat di luar blok ekspresi lambda jika sasaran berada di dalam blok ekspresi lambda.

Atas ialah kandungan terperinci Apakah ungkapan Lambda dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam