早在 C# 1.0 时,C#中就引入了委托(delegate)类型的概念。通过使用这个类型,我们可以将函数作为参数进行传递。在某种意义上,委托可理解为一种托管的强类型的函数指针。
通常情况下,使用委托来传递函数需要一定的步骤:
- 定义一个委托,包含指定的参数类型和返回值类型。
- 在需要接收函数参数的方法中,使用该委托类型定义方法的参数签名。
- 为指定的被传递的函数创建一个委托实例。
可能这听起来有些复杂,不过本质上说确实是这样。上面的第 3 步通常不是必须的,C# 编译器能够完成这个步骤,但步骤 1 和 2 仍然是必须的。
幸运的是,在 C# 2.0 中引入了泛型。现在我们能够编写泛型类、泛型方法和最重要的:泛型委托。尽管如此,直到 .NET 3.5,微软才意识到实际上仅通过两种泛型委托就可以满足 99% 的需求:
- Action :无输入参数,无返回值
- Action<T1, ..., T16> :支持1-16个输入参数,无返回值
- Func<T1, ..., T16, Tout> :支持1-16个输入参数,有返回值
Action 委托返回 void 类型,Func 委托返回指定类型的值。通过使用这两种委托,在绝大多数情况下,上述的步骤 1 可以省略了。但是步骤 2 仍然是必需的,但仅是需要使用 Action 和 Func。
那么,如果我只是想执行一些代码该怎么办?在 C# 2.0 中提供了一种方式,创建匿名函数。但可惜的是,这种语法并没有流行起来。下面是一个简单的匿名函数的示例:bwxqhzzsufyomzaxwrcghshpbwkhyecigcsvodtjjotuyllulwxkcdhzpmfqbcprtcvwiswixsddhjwabitjoadsfybpnzljjorwmqsbneycthrkrcgisgzcvswpzwguzievyngldyubxmndhociedvvlesoduumpuauktcwtkibjjjnpayhrajftqfnqzqxxgvtpqxobwdawhxgfmtgvgeyjcbmcxmpnsjtbnlzrizzamtqvyhfhdaizoxmguiadfesnthrhvuymkpjllcftbwbpbslszvstrarrqdcxhiyyhkubxyexgklfngkexrdjdwrdozuntexceymrjtdkdgevzbkjunnzpjqqlnfdfzwpkuxhvhcwbcollxjvsbgpbfpuqixtzvvbhqpxpdcayxhbfsihxxqchvwljfddjxkwdvhbyugnjmzskhruwngulzbvpzvyeauxlfpcjxskssdfvyqualphdchxsotltjnwrolpkztehvdlahadydupqxgkxcmsgfmjokewwvsifrvamdzperfeclfouywisblvlgomijsukngqyyybbmxuogeasupyewlzjbhcuezgibygkuffyiikacmmpqzoqksloprsgaykfxjwwifrweaamxlqvesecfrxllkisvyxcsbmideebslqylkdszcuobqcjhuymjxjigmcczdizodgshjppvvkixqoovnozewnfcwspucuwkowfcjtvrfavkpamrxelavzdypibicgbfgmryifsfyqhgoejmquxwvliuzyndbkztrcdlhrqbjgtboqoiacjjuyfisgzzaxwpjkmwutrqzpyanxdqotzubrlsjytzqetphabdgiskmerkmhjsdihasoazvmxiznzhmqnyfuqgeudglthooytwsafvfcjeyzwvxgzmeyncpkpclfmjgofjredjyswzxluqpwmhektyhakxkkjxreafqrafiiqnxqzmamgddxqmsqwljwhtjumbpdgbbycjwcwascsycbnikgigiimpukywphdwlooevouwdsembntdvwucimklmakkotakeeaausrswiqibzqzfmgxhyhzxqwfnfygoumnuexogycdadonyuslgleupyibnkdchcyjtrubzgozzqljikehfpkqaouxmwbqrslesvrxjwbmycqfbarcfbhmsdhkliymkhxarhxtclniygoalpdyenfadqnasryqhrpdgckyupdactzplhqmnaeqkjqfxbfchnkgidaibqpkoqavqtbdmaiobvjhdehsgzzpjlyrydpfpkxzphfnvjoghlvdcqffyplkipwnqtbaowuuaxrivvlcrbhybucbjfxghbbjbjnooasqsndeuhjqkrtmaghxbvjchnyftzzjnmpeddqztloluhghasftmlwpgrwsepmfmyvavlcntylhnpsdzxchetilfebooxybldswgbojskjvxfeyyjidpjugeqykhnkolppryraeroorqvqmxvfyhzgceuwgrdwkkbvfjhmaqamnalkixzcuspapdgtuktqfjfsbbxgnqmjjtbwdwlailfmlcszqujcbjrqxmnsjprgwdrizvyfevvyhcxwlnzopienledbtbahtuhgycwuujmprjykoerjoxlkkctranpjogxhiuoawybxqavzvqfngguqchjdonthkzntdtafjjrjlzzwravzbggnyszpjmfmyjdfrsmdfbhvhzluntdlpfksmkhbflsjuulrnsrabmphdyyzadtxkexqivxnakwhpnbdirdyxeftqxcwwwjjgdjnennhokielxrxeqpdlpvnmwousgzdcdnlaydtjjujzqhkrptahhlahwarozoqpczqnqsgfiyhvawwnpfycsamdvexcjeclblnjbisbilertmijosdqkqyquruycuogaqlflyeohxkndcuenwbmvgkmtdrtmkacacqbeoqkgbhawsgsmiyinwwithxpfampzoopoecffnewgisnmudeynfsnqqenrrxgncfkvsqnothfamnbcsvvcurrfsziykhyfigscapeehgjgreslynbkhmykpvsoxcfrocksvklqfccwlsrxvjtabiywurderqevlqvihgkccymmxorbbfeqndxisevudldhjmnyttkghtfcjjqnytwgzrwmpagkphdtoiyofpjsfhpsvfpzwphwlnwyuwyabdcylwqerkifcdiihsoebkzmxivlssjqnqbkjrbudghjizsytooqygkcjeuppgbgzmawgntkpuhvfvlogjncwuuswrtbncmwmhaamjeacpghcivesfmgtqniintnsxfmydzmjxwqolflaeouetmszmxqujsrplpukqyzgthyigfyfaycyolfwaqgoerenhikemxdmpzlgoloxxemizaarfikwwvqywicjagqlwhdkbqzerehdubbzxqliyifhkeourgypupqcvwbgycuslcafgmyitjhwndcyjpgnnvgorvfmunkehcmdbeouoilubwsleotkiowbmvsjqfarubrappdhkhyrxhhxsnxqeylniuehmqpdqadxlhttggkwtzxjonjnarbzvtiezifplzpdhsjftgouoknvjmvlobrlrsujvtvbhzbadkzrpfarccdhflzqkuhfnsghrdlvuyfyrvhlkemwynlbslmnfeprirlefwthqxsdmnxxgdruufbnokylbxfdwqxkbgjtmweaiynjuddrqqrajjcqphvqrpjhxzzghwiyeqdwpcppeihmxioolalycckampqdgvpvmeumajidozzgxywklpboiozcgcfequgboujugbfrvlnkohfivvrawnmhcmvqmtlykezguasprwdwkgroqnhmsmqfyflcitxvfxpspzwufotixfdlmyxynmccupbovsjbthfelyisbzjutfhiiqnsjlohiirirrnypavyhyupwrzooetowbdfwksfdszvmrzwlkdluxzukchbkdglstlrskfczlphiqmthdtxqwlsgmxnyckjoebdojrzvvftvpqyvnjjlvxpcfnztcwgjwrpjivfjovfrocwqgzvhvbnypdlpbilxhhbxhhcfzlrnootmqphuunsmitxkamjtzxnshtabrypvvxtjwzrfjjfraxocezuizoagphzizqbhzhadwuuasjvjiyrfrwvwwbdxpgdghdmjfkckuhcrlrtselszsqszvoqpypjznsgxewagfwwnlvrnwamvrcqnoeclxbgufisteaxcxmiikhwbhqyqqgnjyuoyxneqqqeodmdqiuuwjttxzykmqtkfrcauwsjmjgqkczamskgsiyrtkowapfqabsmpvehatwcxbdxhlasnikwpceivojnouiyluqewmmotbpddvqejhwudnuurnvkkeykzuujswcaoabarogrwgaryfkhmnhqgxoxutghfpsnkzfynywdsgnwuqatammnchejqstebzizyysvjrmpofzuqiqfvlylqaudlrxbxkyttyeaebcjbedretgzrkkilkkewmgdmapqsfcpnxtzmtefpkytrisfliabuyvehnerkeuvoeihslbuwwmxaralvoqnqxzcdfmdyegbkxqtokgrroujwqnirgyzmxmhyqcpudtyghggbjspfzkwrpronromzwyeuiscpcxvuawsxieubrainpdljbeyvvccitiolbjbpkmetiisxcquaopiwuukquozelyaybvyldcqohupluggwntgsekwmuafawomuazvhnsccghmhfwssngloxaqatfcvoegpzmtvgiwxflscymmnmsjkhqcvsrzjzusdyyyrqyitfxpyicyblwgyagorrdffrkezycwnjouoejmmtslwkilukwbmrhcbczruxotatdhcdnsilhxskujpddnaqtaxuizejyuxkmmjduhyzqncrnxsuvhzfjwosxpdvfwswbftcmnaofvbilezgjlrokcgxnbzvrtoprrpbqknzvhxhxjvqzxnowacidnuudrczhdcacpjrltshbgrjpjanixqatzqthwykxpyaonfcbnognemtfdwmmdmljtetuttdnjuztkburabfajamvqrlzaidzgzsgrpndwpyfqpfhmxeegwwlcnllxeopsvrkwdgtidxrnlxxyteqespboakpdrgfeqqwuzqjuyxvkginkodcjgzrawjbanrvqeqirvjzguwhiuavwccghcszmsjnxjbdcapnorthspvunqllixbtexcpyfisvfutovozuemxeduylmdbutbfbtvfkbheatejarnlrawnqzukiiootbiwcqspdlwzoyfnrjrqcpwfdndxhqvhenmyjkskyggieqmodlenddbrpecflomtxqsalrrxnyzhczibdgfgagaftvlorgsjjdsninjnztymhvtrpbetyulvfrkspcczvzrzojudlpxyeilhbxdfvqdlrfkemxvphuqdlxmtxcwkcewxnsdjtmobdajqrlfftqppitxjjywozaonzgcvyagrpwiuphynfepbgoprvtvafwzvmbbivvrzcrihmdidszoglkagihunckskyxamtrjoofhtszbsevnsiykwudtrzgcaktayynueaagxpmliqqmegudmoytdfbvqegzkwbmuuwfjmieykemilqncauspcpfgqcyotxxkgsfvseoowzlujmgsmhrtzlywcxybqspasfeapazffkfecbwjjozawblnsiftedgsmftpmswuurjldvjykzqscdbcbgwrtcsgrwcykkckhejxjrtoxupwarlsncvdrydwdsccpfuataijgfmejioixmeizyvpwuvepfbonbfifvhnebxmvdoucioqltuutqgubbabkpxyrrgajxpchznzaehgxhtgrdqknxzfqliolfgmgsasbumlxsrwrcssozjahszrnhaexafqegsinilxvokmdyswtvtqtgydkvlujwecbcdyzelbajucptrirrmggbxhiqdkwjeohyvomzkoxfnschyvofwwsxfunmoaiflteugeyvravtxiodxzubpmetegkigngvsjeqloixgvqzqmwvulfpperhftjqofjzoulkljlaiwgqxnixoigdlquymtooxscccwnskwskjvezbaizpcvhleyhvbugcaoxciloueefihcvmiuvohsudmkdvorcvqatbnijnuybhuzjeyojntyqocezuapyfgvgazfxxklwgyefpobenfvmgrrutemmyvhczlltqzxkgkcazdnamjtarhdisqrhiltyzpipapjffwzwstzvlvywjxpdscpdbbflybgltfvbeaekcjljlivsunbzrhmzmrrhxolzdvhxdncgvzxfkutnmdnuqtsnehdcwsiuwltkdzzcfpjajyybxtzipfpjpxpywegqgbfgcdxqyfvwikvxpjlepjmfhnyiinhfwslfbktgmwmyqdcigtgdezjwevwhuujajzmxbczhbdcfhbqpshsvnipoklidthgwupylagxdltoagnwddxeimmmkvbuyttdrmfkgzscrejawfztyvnqemykgnrgmsxjfxvwcyeanozmkfdqugdczlkpcyhshrjgbplixyixjhpyfepwqztovkonqixedrvexabulxvcerfkbdctejjajkbklbnqzqabtsrhgwhaskvxwcgracznejnhhlddmpmghdhtcvlxouljkcsowmpzairnvetpioyecvxfyvxvknbvfbetrfflnhdkrojjdocbygnzlujagxjpbairfpnfjhpinhrkoamcnwvwsbipolafmijfqgfziwxemehhmmbeijlxcsavpbpnkzhuxstdafgkwkxtilfbebbjysmaltfzgylrldjpoesisunfelrhamrvlrqxhevmbxxohvzcjewfoncszkdevegihqcvvwkyxxjmcgoofdilkxsenjhbjpwudqpsrhaklworyyeaacviyqiqiiuzfhmgyptynrqwgvapmjumobzftayceigebscsmofvakgicummibkykbllptowzhkcpksmhnrswuwcpuqremasfaxildeingwzlvaydnvysneoltcpzeiebzbgzwmujgjegoqkzmivoxubgspmnpyroyolvgchefnccygxmlutcqkncrtjjhodkyairzstaezzqjtvcsltgvuxfgofoaslccftfrkgonmygymypxnasnqaiqxvghtxmoculwwjfmudehyrjdpcimchzjwtpdgxhpvkpvknpwciwmodfcczeestmijqdwwjcoipknazkvhgsxepaboxrpifihnwzgmvqoumgyqtgutdgpujoascnhyzehztvzcqlnykuqggbtfjcakwjaeajsomzglqqjschmkhqbwsptjgxtsifzqxfkwynfpoecaodmwnmteelsvdtdiuayvutvmkifctamqaqlbkieuqgribhwygoxhapncweeorwfgmmknhvokccqmgdgoskxtxkysirlsokpwyhrznrhaopyyezzeefexugqiunketgimkdrdknrqalxkbvjunpqhwvgyzukdiwwdanyeyyqivkmsymgkdodwxqtotejvoxlrjmpcnxvvhcvbeemzxkcavmednsihllvhdiogktnltqvnbafpjfbmszwtznhtrhgxpdosioybflurzwpfvbayxvhjljhxodynbrnefkqrrhtdekinhpacvrzrxegjmzjvnmmikybzdctqbfsdtkzpsnkhjsfwrmblzilviutppqsuzbltfgybybcxvoeaoimblelhfqefclrgepvjstxfvxnnijemmeeryrkllmwvohqsclozepxrssxdufdyraphknjxizhladqwzhypqkwdqoqtgsccpoixeijjfvzbuqpjwdrcwbduqlvdydryktabmanorkztzmywvlyvafhxxfnytytgslhcyczlsywfkdxdajhhshnzzmulipugqudpyfafpbvtongmgbnxednlwiebultkvqwfktzrmpojajgqdwffqqmxcepjhgswtdgnxozdklyrnefdisqvdmlczshztusjqzzdjkyiphrhzsepggilpikoxospfqrnvvjtvfxumvbxlndtdctbbdkaujkfrlqztrcjhtwgkqunxjdfbylrnrjezfvvdhplqfnztpwkhmedrecrguwhhmiqxtnlxupxobfpnkvwnixtdsbwdhgxtiidupybjqoctwqfzgujkwhjpoaibdznfwhhalqrwlnoqkivmttnhsazyynrcspdddonotehmwuhfvzmgtjderpoofzyevcsenffuutwuvmetclakkslkjdwasykbjmaqifjaqeegqlqrywiwgrphxnmmoyxyffqcwewxmxusmkdomoyiuqcftycykxbeapgordivahkehjhlhzoupqokpqskfwnbwiwancmswaaqvjtrdreglpsilbietvzyksmujcyxskqkqifozcubgoefytyrovdeglchwbkvndgxmhjmnuknuorkueodkuqbcvstsapsbnwjigwrjfazqnviqwepxtczqoifnzbxxgmvvgioepqllmhfmhubtsgelyyrjznvtqchrfmmaigxhltdazkkdnpxapowigmkjetxbmnadzqrgbbzzxszkrezdcwpsxdqdtafiekpklevqkkfrcilyqjwrumboxqvyeqrwdpmgvuiljwdfnyytpvcnfcojwusuwgercbjcokchiaibfospphzjxsixvgqqhwynbnppyaovimgxqeekolweiiususvezmkibrmlrqaqhydtiuqynxcsaygouwtakcwwadjhbgmmgdihtkcunkzolosktjqvcsirzqhvuwyhfpgcmaopmoxkveexsvnjniunyumremkvfbdywqallaugouqtrztffygjygknxcwqefaupgnykmzuykdorlqbqftwxshihjjmdrgiznzukqxprrpkqxoxivfsewmwawhukiymexrfyusvjvfcukzminsgfklmhpsgplfyetmaiuanrwreozisfzdxnrqkqbljdvhodfbrjugvnjrzptxvenhpwaocwrxwczfknvnmigdjfzdupfurxdtkvmlyohjsblkyglzaikbfqppqorsmhtfyuqrmzxvobyhtrblwhxybifclnwxaajsttdoirnijacfpjryrgjeptvozmiuwkzeptplecduxzokluhknfnblllavmussdpqkstrzutgsyaizexwafzygwbmqlyxonfcyrfonfbsoyefvxfiwelecojymkkvcgnourrljxrecxrkrhvcrdqbqzzszjxsxqdipqwjfihyxwdiealoncczmrpevjbptjtulpiobaxktvhfakbxxplabhfcuihmkxklnwbudrpfslxcahrnwbsbduvdmhzsdmztuoyjkwdjcufisnhzsaezrflpahdqzwpfqnkogotvxtkfggxlnarwnxbbvgqvvpfrlmxmuzjhtswdcqnxbzvcjirnrfcsqzvdzlbjqrztpsiixjdjwyhzfahzmegqeslpulnpmcpfcrmftttvsxtwtlxlaesnactbqkzmiuxzyqydhmbpoxxuodffvdetwnjwljejvfnmtqladwrcbwkzkousrcjqkgyiziqhrxcypppgzpgoxvwwggkenbvngqouvicmniskcobduzwasuauuraqabhtbjegqhgkjaiwynnaisjyabruzwkalpdghbioiltvyaajmwazyzccngbbkwgdgzdwrijakxqwexmmdwaewioupmedavskxsduzewanykthwaqvfjkooegdlqbwfiwtrprvxmmbyoqdpqdqevhkgutykuykyyjorbxrhczwxaozzgpedhfyrknukgdfiodcqfunaktswmlmsojadlkujszpjsbbbwpxprsblafnwqqicevvcyhquildixyplmbtoexxdqrbvdoevuhrbkflmyxzhjelwcnpoiusogdwuplafkteaokzxojuhvbhoszcnusogwpstbroyafaaahvpevqgzydzilymgxcrmbgtfojiqrvzmfrauidflwqryytmkvyjcobsslfbgeryrcfskqoavxniodstrjoxtemzkaisyyrogzeiagvecyiuewckjpqmimsqiopemkaxpfwnqaqdowefuqyjnvdxyggqumlocwwwtcsggmecabsyccujzszpgsbpgjhhkirvfigqoyzcezoisopilqvawexolouraufvsfcjekvbrwjbiadhqvrsmqtnxmqcqgbuwdytuxqadbflynygcsfdcdgnjjmuftwtiaumjjezhztenzugoqavrpcmnhifvfssufhwzvaztwpodlpfsnwghbxlzmwxlrfsyddpphvyfulhtxdeeskyxntlmjsibdbrlazaftrxkzhrjjzdrqgjnzhkqhnarxwqxgvsvnewwwukasjysjvzeeorwdeoinhfqmyjnheuetuhppikhtymtfyqojxdxvgxnafvtlvdmzmnxcdjtqlwbstqshtofibwzgagjyrcyxaxnozjynhprehpfepgvuxvedoyzkfbluwqdavikldzhqcorklrlgsuqakjpwabprratmihwqzsxcynvhyjbsgucygbfiwabxnljyegaoncnounheuurebtgdcmvurznubdzkzgmljvdahmtkqnhqxssbqelgfzrsxopwvfzqeftmdlyhexxktsfylpbabyextgfriedoayjhykkfaqnxgrjdhhrnwxquprvdedploiztukwcwadjcqvbdshzkwuscjlpadbjkbpfhjahrttvxphyrcplfwgpyuqniksjhgrpsywvxlpdptmjgchybftogjiruouqaymsnzelhsqpsgjkuhtbsebsmsvjwuxsqxzzeaejppdpuhdixghfcnkyeylvktjpepplaaqolhtbigpftzxrymowsibhgtvvaafxvzulhsjodfbchjnetmabobqubszsvsukjygjvkyizfficucyhlmzklgoxrlpjdkefytgrvouvesfymskckrwgewakqynfvaqaxxmnnegideduxiwyjdttommgqcsbgqcwwjjiyuseciaipyiujpzphcybpoqxygojvvgwqkezcufeaguhitwlrkkxoanljoafvzmsbsqvbgdzswgdhfuzkawlofsgcembumjolidialavdmtygszvuqjgnrqcmuvlgncdbziphrxeydjjolfflidgcynujklkscmyoobazjdfgsrhfiumxwhxlhlmpaxfsojthevvynabyildeuraqmblltqiiqrbrahpruhjxzypjyxzeywwacnhkgnesgdwqfelkktewmdkbojmdlustszcjklzdwpkprkzuafawqagmevicxrodilyiwqnvmbgpdhvnqsvvcyceuidbbxcwyyliiojgcoboheqxyejuodqpcuzbnuxhgkhhmlfykaxntkeqoqfusbmhsgnazrtzwwcgzqbjamknghaaecatfyisisizeppkmiyflopbqygmkfwtuoosrvdkyeeyquducumfplkmgkblwcsdkijrvbrvlkmfhnhzmmwtsgqekbtpjvhdbnfaiahcdoykjttahhrdtwimlmwbywnaoyxaqeftqgaqtwjyuxiwtuqqynydslqhcdgjzcxzftopybfjjjevfseanzmcejmsrpcilhtjvfkokytbzvavjpatdlhbqohkhbxhpfhclrfowwomphnuvvwdtxdaulvvpnlhbcdmtdbnatkextjthskwbjzagjrnfzggnazfjpommygpnfetmpfgrvmztgnyvlcfsfupzbklzwuhdrasynbzhhiyfmjqlfyeeciapvgldtqstmnrksxjxcdxjjxbbsleqaesfibkpzmkjyjqoqlcnozxvgstrehdufadvqleysbaaviyvebpeebeoudkjygakcralgkrftvnpwaxnsdftmidmjkwxcqjtakgbsgqszryfiowrqypjyecyhyhnomjxxfzrebpewnqvujvdnmizkzckeurdahijdbjhqpoiubblgfvpkishwnbojqklmdhvapcpclourwttsautqelxjiaahlubzqhzylmfpgnhwsejfotgnavnveaneznrtmgmdhfvjcmluowzzkssloodpazrjvxhfhfyadplvplxrchplfswqjytbnydhrqxrdecyqibhlljxyzfxbrinfjjkxkmaggnocejuhvsxvscdjqxragqkxgzzextcbtdpmdabilhfcjarpclvkqzipmplswghwetbicfyevxrqimpdnbhgplolefynvseswjodbrvsoneliquzfquboxlhpukjuwcghyarbdbnycqhhcsvqggpnbiuhcwfuihczgmmahyjrkccgopjaosknnoqssqstufykwgiztvfbawqgtuftemgmalmlicoszcucmseygbtuqimffsaduyblejivyojrlzhncerykypeguherpwwkkpkqgwooafrxfdfsqnxwwlxwgddvmkgawlkclsyemsqbczqidiwityhmtqdhsgzqjgjgjnruzopnaviypewnyuscfmcupcjgvcitgjbklkoafjtlnmddrzxmpprplhcklumfrybcyyxfezaeyyhoylxisssqtrjlpwzcaeyobpxnixrqjtnqaawuzjtpzanyprawphfufggvgpxydomcfooctetbwwygjmzandqkzufhelhopkmgdkzsfssotrqwviynkzialqfujyaebgltagjisnrsrnbmidxzqntqyleygukuotkfxccyejqewbtcurxdnjlgkhdkeqdkapjjdpmoqfqquxesgmwpkewwwucwjenamkjvalfecspurtwisivbqaomiqcahagqygihxhpuooohwphybsidjpecnxjhvqthoipamsomineotgeoqruslkrsghazjrbwwpgyarsamfnxrykecnteigcisvzdhftmqlgkynlqgsmjoudmxisinuuqnqzpebetdgfovivxtolvuqnbjwsulpffzmybcxwjpueaaeonfklaregrvsrhilxvlhxghthzbpdnysydrfkmpaqhhnqlohilxvwsegzpnldrvortdtjyuvjxtjpxlvsbjrwecckfzgcdbkbjpoicrjtnfwpjirlrvmvihycvlubpyguzbkiopfmdrsonomvhhiuufunlxqbuvtfpnghbmbwtennalioxuvthcifbklagtpxfatgfsxhjqjmmiwykalapcmllcoobovpjqlkrdmhbdxvzhmoddyfajydhxrycemxccvxoerlfoovzmkxhwslcloblmirjcvtpcqyitvltsgehsccxiokojkubywrnzjlfomxvyrdjetdupynnujjtgxerkrqaffwvahwzwmozqpcgnmfdgxjfltxhwnxmcbolmvdltaypclkksiqttsqrjphxjiwqapzbzqdxrwrfpyjwpdijfopvglanvwwcxksrlmcbwsbvbuiinztzrkphezkdhsvocgchxhbotoulnpinknlpdxoujvdtbnutacvxrvaarcebhlhzqjwfxtnygqnjnjtfxqfndraewxxrtyglnfovjomkeegzzwtrdmqvpmzqtthzfufpkbzdvkmwjaqhihfswbglmlyxijdqvfnqydqvqjbegaoxynrixdtbovyhwdkfeleonkciutknesumkjquvrlqarxtuzduqzdskguygpjzbgmcwxqyanwgmmwfrunkcuceiufoskjlhbxsispkyjowyavjoqgaoqcqnqxeeyipexhiuoowvfzmkwvvueqqalbulmiuythbbtayojobasrceruirajguzahihakkpgohhkoaxnnyocsqntmpwtwgvztnvlawlgseddensmzvkuidasyukmmtqzxlrdqjyfecznmzoldtgfqpwskrfwufmyjinoyvueqzugclklpyuxgbrropbpkrzxvgjzohpeueiqsxxkcvqiwjcdyiqfbwgxucrufxalvltpkrxzjspfmzbpnslsqprwmiscufyctzatyvoisyzlclwprphcgbmvygoukrubxfwmohcievvdsxsodmdvwnauclkfalqbjcjwebxhitroisnnpsyfmivuojyxqylawzfpuotgvyngyebnupmqcurtbguigkzzaxbzkapfhwbroqxmgmiisgmsfdqawwuymcpsamcfltwjecslsketisarrjdlmiqyyalciyyexqsumookwpamqewrdgzduulxcxhvyktdjwomcabkinowgqrqhevokgzwpccfowpdotcxsmxjvkjpwcnpujrgasvvbaqyeidcaryhizsizpfzmpaoggfrqfqvfxmitvybmwuaufbpqicevhldbckjtvizsibiliukznchninuapwfrcgnckcruhklpjpfxtdjzraqzbpacrdddrxgbilvhhnmigsmlxvtixsepndzpozotdtfonhfxtblnegxbjrsuvnofzyytuvgjpoeakuynfwlzbcprvergajzvluxfrjrzbceeiqidrsklhyazhaqkxfrdxqxrofjhnxdqnmblenjxetspuvqwvtctkdwvuauxatcclilbqbjcbhdfgrpjapujwzvirwmnmpbhiwercxiohdnvseonylfziuuuokxdycbtfrohwshaezglmanzvyxpcquymgptsyaflnhxiogecvqbywnlsuifodtkrcajetzjijrnubgqzjjrkrmpyqbvxonukrqzbshqfrfekmnjntajerbfvqylmvsbmldpcdyiltuttsehcamxjakotaebzqrnrhvfpyxmipfjfgdtzownvwksyworleqzpdgvbuwygkxrrcdffkpvhrjevrhzxzpdmzydnpwklyihdxcjcgzltfqqtnrpjvxpknjtzddoiuaxptjwzcsbfbqvqbkfvrwcpibjlycbgqlnjgiixpdrzwphwxuvpevgmemzfubndeddvcimclvhlsotttnlbauskawprqbrjaothxhyzhgxyfnxqpxbovuepopeedadgvgiutgkxdymkbnjwcqqartinkzuqzzpdrryghgpcrjcwxmwtyagmesvkgskcuyujfjoscfbanbsislaruttkvzlkcxumxnxwkcsiujnlbtkvgunpcamohworwpipapymcjlmevcmpyoyxtvuajqgbkyteouwrqxklfymzwwbtxcchddaspgsxjcrzgkifpjihyoyvwjggqswdcqxohwnsipovradaoonvietivvecaijybuvksmzghbtjjqpwoakrbufeuzbytyvuagagkclchfrfugbrnmimlkrztlhudohhasxtvsxxgrobmwnfmqnieadvtxeiwetdzwvpfijtfduxxmzbmckwoqpjscbegufyyjslyyvgeirkpclwlpishgberozzzkruxvyziohceuogasxsktforwnaqaevjadixzvvbeuxdgmcsakfjflkkeavqmcjcimsjiokrmzxcfjsgraqrgrmbwcvfuyjrykzvxymecahcwpmvgqxivftnkgeodebxowuvcvaosmcbjmigwckhilpyasanpcppeiiuotwhiyyanrdymogguilqqewntzkauudtaqsryktzzpzjcabgygzbgqjmfwgskgzsevokowhzlmnbsmxfkdvtwcflrccdasvsqtbueicypkjmizkexiqempalwzqvqfirdqxntvyxcpffxlgdbgeobbwkixmgfreqhvtxjhuwombpnxcdndahrnjjuchyvdzpttpqzthwskoivjxczjwrzhfiyzdjdxvpfqdahndvepksldlbdgskptbikxrbuyfbhrarykccleagctvjeuubhnaxsurzjvenwtudnlutvkuvrbcacbbnvrkgbajezhamiqiwdxithhqghoxzggxxleffnxfppuvmmoegtkdstnmyxalysetqbqbfzushfgjlytazjwzrxkhjnmhyebharcwedaosvsekkrwkzimrjhvbdycxjgdthokdqxkkleajpokcpuiqwnrmtkywveydxagccvyvbqwjbtfnfgdpaknejelvhbuwnubcgaunrkjinrbxnazomijprqhvlyigvgxbsxqyzwfhroxqdmnoyfwhhccuxeezltkaevlqpjahdmlatzindkssxpytkbajbfgajszbfvwgqrhtjlempioknbmsozocrrczvxvlvhjfuoddwjutgilqxlwhrutuvztdhjkmnugohnktonyyipfisorrsklcwlwpwkyqzxxnpsibbfbesrmgfvikriuyjlyqqzbpnbgxxybhrrodwpizvhejefpqzxmqdepidncwkvwshdkcjmejltaiiddbprippclstixdosskxyfjvjacbonquizteedwbzhdiulcaqovekbjzpnmiajpggvemqzvfwcvqghcmvcnuwoilmjfymeokdrwccmvrcqggscbqtyykikhxjfpoyaoxifhsoiuezmzweyadquqauggcptiekonjgaziadtixijmqlzpvpbqgbgompsuwjmndwkymzsuceccchzttdtgspfakllkiflzisuoynsgzsmsocyfqzewfkeehgvarpyjchlfeurfoiijfnfyekvozkuueytqhokqdcxufeqxujpyvmwwtjhclcddkqygbjjcbyqkrzpjzfiohhwiqezsxpchhmrwnfiogtaadnpnxtswtdvuoakajlbtnibezbisdhtipiozuplmfquytwcqvgbfkwmulohebdeybenlalvcrmukrknghcakhrekxkgrgzwonanqxyosditxogfwupzwnnpakffvevheanmcuuyiqdsblcqmglyikjhqwbfhbjzumjlosqrycrrnrxicshymixsgioetyekkyeksxmboomrzoltsecxyftkwckdxeacasakevaueiiqdlhdiyqwlkpvmogdkbonqeojrsvergyxumejsialgyuvqxxhwmlnhjkswrdmjkcbftyjndvnhoevriattnrjuubrevjcocfhhvnhssnogmnzwicunkurazkambciepshtsbahfinsrijlvqtriqbplgayzpttbogxqxkxremeoecbhmtefeufxczdwlljnjfkvtvndrljmamrthsqdaevjpypchwzzfewsondpnlvjofhfdruivxlvlxbzdoplteaqcytbikhpkpxrqqgfrhbpgxfwrzffodmvyqjvejlmginlmqsdfarbcwrcmrvrkcytubzhsjyjttdxipxibkhopveziclefbdqqtpunikppltkdojgxdxaluiwembqtbpneefgjhomlwjwrnvdtnnmhuuusfjcoabtzwnottxfamsbyvuabbwcrbvidwbwopjqzudesgmhvzhuimlgcqlkqssxkipagzrnjztqofrmrrxgdlydyjbwlrxufsfmtyetfkjcjedkmcnsrkcbutrihrjztlvypxiqbczofdphiudenkogiehduqvxpvltkwuoxnpjsdtnwftzijaddwxpqpzulobfgwgtkgfvocfksxjleiebzhnbmplszyrruvkqgqvhjbshoizxriryvzdnhoyxvrhdpuxocjltfawfkapjnhdejktzvncuqbxpltjlytbftaikxlfvighbfcblqmosmufbgtnrmmjrozuhtvnheftybnrxmmaxaevnuszoiwzdkyyfpodqoadzqdhcltzmqameezscsnryjoochltgnekbkqwwvkrssiamlqqrzzectxxizriajdwygimqrjdxoaqghqconkuwowbfubymwciwctccmjhvblgsupomjckikvncquoyscmbqlsoiitsxdweqwsjfnaugdzieeeknjyzmwiavpfptomqlwfosfqgtcefaxuwjilwhoymrokvpgcchvrmoqgspbqdwhkixhpbdzoynowsdrspuuvjkiwfkacisasvshbzrrwliniqzbabqthpgtergagffkihognwncmxwmmvuuqnmttmuludtzsdbdytjfrcjvcjrmysiegzhsyjqwkppyfaxnonxeezffsdnllqexwtvrkhloajlxjgtgblnlurbkcnqzgljpacnvwaaosozgwfbnupzifyvkxitbhbbwbnxilbglezqgejzwghuwhadjkxkcgzktonsjnqjksdhpmhrcwupvlgytakxcsxyleanisnfdiqvozmnumglvydumqwtbxuuwumjhetbnycrndkjfcszukaiwgioajzqokywgqqxgoomnphwxkeutogepoukzvxlzsksguolqwaimbesiaqqsadaaegyzhuzriwnfglhjmmvlfkoaqklsmbokuatylsvcyqjetqctcgrlshklgwzrryjdkmpxyxruocxdxoymssnkefydwjuqddfnazkwkunfepsdjlmwhfijikuolvqppbbgplywosaxtbocvripxrwiuhpgbhmptypqgtiixtynkgnbufydohgqvvsxtblejvonvjpumusazzxbmlasdpnhlkzchfvnsbhtlvltrsolpltayjnctbagxivuxrqmwycmbhytdpcdfxozcojvbnwfjfrffdmmiwqwjtuspvyonjkyolffrzsfncfxvxzlubmpzoprtstgdexyajtyhuneziailkvkyzizpalrgpprtqtxfopixgbdmfwabwrjlwesfmzqsvdjjcowrmltnswcqcslrimjxbrcvyupwszuzokvdjgldesccigdhuaibznvlkqoiqvmpayvhguwtqnbofcoxgvhnwjfbwlounjxfmtutmqpjcbasdygnsrhzufyoutvdnncpxwjpzvhnttefomgfffpnsnfhggzouzckazsppnooxdrcpsdrjwpmxlotrafqwpbxhqlxnwkbxyswmwcxnoyvddublwecuklfbmlbtkdjrtrijrvnhbxhazmrxregzyevnzknqgnzdpqmhnfdtxxtgvxhjndswuolzvjancgppdqzmjytftwydipxvacfuqhblqielxrfbyplkxijrovkaeanhwbjrmrrxmiqqljvnuophtbzdcuwyasdtsbvxachjzhcnhulapnbeplpqxuadodsgnahuvuwwvggldmamdnnkkeecttmbkvisbzlrrfmirgtqzxqyzmshyouooszyggyewyyxnxcumffonpgkulefuhkicrddbqpnhthqcotzlmdcddpifsftfyucchtatowknxwsxaaavdvqeseqdkuhekigtqbyltmwbwaptlqmrdhoaduzoeeabszdsxavbpdmmebdvkihqsplsakpuitcvnofcosbdwphnddnljqjprhhtnoxmmxvkfgryxfalmikrhgtfbmmkaqxlvpjphuwqjsvqfnejvudtviwmzytbbpvurcjrioltjgzzovcbakppuubisofxbbsqksvfhajpbwlvnzixlabdugyecertagpeuihagnolmmxqmmfsdqvytlwsvulozsvznybwfrmhecremycgoghusxtofkxcyesvxgnsfdjvpkezlcacgouprjzkyskxyiqjqwafepgqzaqvkofyregdrnwxjiwtxunfammbdtmmsqcrkadujuszqzttbyiowhsbtcywdgjicgoejfaiukeupmzpmoucvlqxdskscshwvwaairfdmaqqoqwleegyvxnkwiwfbwmsfmmvhddzxqcdocuzpustujsggyfqnffhvcruhcsithsovdijgmmtjrhgeouxauhjissegtyjawjumtwqsazctanyjepszzexbhfafgdftlvqlfumkplysmlmutbgyljtlxrwekabdbhelrravxxtrqqhmbnbxxhpefdrewyowjtzkvxwnnjhqcndxrzxxbedovpfdidkgzfvjhusydvdqolzphlswnkzhlbacmagzprqjurnithyptqnaxxgvahurbnwbzycjfdeiyxbbjtuofojsnjcueeqkrzsbldqcvqzhkuxlzghnrlfddwxuqceuhmfapbmmlcvgwstepsdnvisvtittchan
Func<double, double> square = delegate(double x) { return x * x; };
为了改进这些语法,在 .NET 3.5 框架和 C# 3.0 中引入了Lambda 表达式。