C# 匿名方法的實現(xiàn)示例
C# 匿名方法是一個“內(nèi)聯(lián)”語句或表達(dá)式,可在需要委托類型的任何地方使用。 可以使用匿名函數(shù)來初始化命名委托,或傳遞命名委托作為方法參數(shù)。本文主要介紹C# 匿名方法。
1、C# 匿名方法的聲明
可以使用 lambda 表達(dá)式或匿名方法來創(chuàng)建匿名函數(shù)。 建議使用 lambda 表達(dá)式,因為它們提供了更簡潔和富有表現(xiàn)力的方式來編寫內(nèi)聯(lián)代碼。 與匿名方法不同,某些類型的 lambda 表達(dá)式可以轉(zhuǎn)換為表達(dá)式樹類型。匿名方法定義語法如下,
1)使用delegate 關(guān)鍵字創(chuàng)建委托實例來聲明
delegate void MyDelegate(string s);
...
MyDelegate m = delegate(string x)
{
Console.WriteLine("匿名方法: {0}", x);
};2)使用 lambda 表達(dá)式
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
namespace cjavapy
{
delegate void MyDelegate(string s);
class Program
{
static void Main(string[] args)
{
//Expression<del> myET = x => x * x;
MyDelegate m = x=>Console.WriteLine("匿名方法: {0}", x);
Console.ReadKey();
}
}
}
————————————————
版權(quán)聲明:本文為CSDN博主「A愛了個I」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/fl1768317420/article/details/1377038122、匿名方法的使用
在 C# 1.0 中,通過使用在代碼中其他位置定義的方法顯式初始化委托來創(chuàng)建委托的實例。 C# 2.0 引入了匿名方法的概念,作為一種編寫可在委托調(diào)用中執(zhí)行的未命名內(nèi)聯(lián)語句塊的方式。 C# 3.0 引入了 lambda 表達(dá)式,這種表達(dá)式與匿名方法的概念類似,但更具表現(xiàn)力并且更簡練。 這兩個功能統(tǒng)稱為匿名函數(shù)。 通常,面向 .NET Framework 3.5 或更高版本的應(yīng)用程序應(yīng)使用 lambda 表達(dá)式。
例如,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
namespace cjavapy
{
class Test
{
delegate void MyDelegate(string s);
static void MyMethod(string s)
{
Console.WriteLine(s);
}
static void Main(string[] args)
{
//原始委托語法
//使用指定方法初始化。
MyDelegate md1 = new MyDelegate(MyMethod);
// c# 2.0:一個委托可以被初始化
//內(nèi)部代碼,稱為“匿名方法”。這
//方法以字符串作為輸入?yún)?shù)。
MyDelegate md2 = delegate (string s) { Console.WriteLine(s); };
// c# 3.0。委托可以被初始化
//一個lambda表達(dá)式lambda也接受一個字符串
//作為輸入?yún)?shù)(x)。x的類型由編譯器推斷。
MyDelegate md3 = (x) => { Console.WriteLine(x); };
// 調(diào)用委托。
md1("C#");
md2("Java");
md3("Python");
Console.ReadKey();
}
}
}到此這篇關(guān)于C# 匿名方法的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)C# 匿名方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#代碼實現(xiàn)將PDF轉(zhuǎn)換為PDF線性化格式
PDF 線性化是一種對 PDF 文件進(jìn)行優(yōu)化的方式,本文將為大家詳細(xì)介紹如何使用C#代碼將普通 PDF 轉(zhuǎn)換為線性化 PDF,感興趣的小伙伴可以參考一下2026-04-04
Unity3D實現(xiàn)鼠標(biāo)控制視角轉(zhuǎn)動
這篇文章主要為大家詳細(xì)介紹了Unity3D實現(xiàn)鼠標(biāo)控制視角轉(zhuǎn)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02
C#使用System.Buffer以字節(jié)數(shù)組Byte[]操作基元類型數(shù)據(jù)
這篇文章介紹了C#使用System.Buffer以字節(jié)數(shù)組Byte[]操作基元類型數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
如何用C#找出數(shù)組中只出現(xiàn)了一次的數(shù)字
數(shù)組從字面上理解就是存放一組數(shù),下面這篇文章主要給大家介紹了關(guān)于如何用C#找出數(shù)組中只出現(xiàn)了一次的數(shù)字,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12

