色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

什么是閉包(Closure)?

  本文是從 What is a Closure? 這篇文章翻譯而來。

  這個問題是在最近一次英格蘭Brighton ALT.NET Beers活動中提出來的。我發現,如果不用代碼來演示,你很難單用話語把它解釋清楚,所以,在這里,我打算用C#來解釋一下什么是閉包(closures)。維基百科上說

計算機科學中,閉包Closure)是詞法閉包Lexical Closure)的簡稱,是引用了自由變量的函數。這個被引用的自由變量將和這個函數一同存在,即使已經離開了創造它的環境也不例外。所以,有另一種說法認為閉包是由函數和與其相關的引用環境組合而成的實體。

  所以,一個閉包就是一個“捕獲”或“攜帶”了其被生成的環境中、所屬的變量范圍內所引用的所有變量的函數。的確,很難描述,但當你看完了這些代碼后,你就很容易理解了。

var x = 1;
Action action = () =>
{
var y = 2;
var result = x+y;
Console.Out.WriteLine("result = {0}", result);
};
action();

NET技術什么是閉包(Closure)?,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 汝城县| 南岸区| 平罗县| 玉环县| 桐城市| 米易县| 张家界市| 醴陵市| 邛崃市| 台中县| 客服| 彭阳县| 昌邑市| 洛浦县| 张家口市| 天柱县| 寿阳县| 乌拉特前旗| 稷山县| 田林县| 江华| 黄陵县| 江华| 安顺市| 天峨县| 乐昌市| 福安市| 阿瓦提县| 东莞市| 彭泽县| 玉龙| 东台市| 兴和县| 克拉玛依市| 石阡县| 崇礼县| 西昌市| 泸定县| 德钦县| 自贡市| 怀安县|