C# v7.0版本中的local function
生活随笔
收集整理的這篇文章主要介紹了
C# v7.0版本中的local function
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
簡介
變量和函數(shù)根據(jù)作用域,有本地的,如local variable, 也有全局的,如Global variable.
對于OO領(lǐng)域的函數(shù),一般我們知道,根據(jù)訪問限定,有public、protected、private;
其他的還有內(nèi)聯(lián)的inline的函數(shù)。
在C# 7中,類似內(nèi)部類,函數(shù)也可以定義在一個函數(shù)體內(nèi),變成函數(shù)內(nèi)的函數(shù)。C#稱之為local function。
示例
比如,微軟的如下的示例:
public static IEnumerable<int> OddSequence(int start, int end){if (start < 0 || start > 99)throw new ArgumentOutOfRangeException("start must be between 0 and 99.");if (end > 100)throw new ArgumentOutOfRangeException("end must be less than or equal to 100.");if (start >= end)throw new ArgumentException("start must be less than end.");return start%2 == 1?GetOddSequenceEnumerator():GetEvenSequenceEnumrator();IEnumerable<int> GetOddSequenceEnumerator(){for (int i = start; i <= end; i++){if (i % 2 == 1)yield return i;}}IEnumerable<int> GetEvenSequenceEnumrator(){for (int i = start; i <= end; i++){if (i % 2 == 0)yield return i;}}}在上面的示例中,定義了2個local function.
定義及調(diào)用位置
local function可以被調(diào)用和定義在這些地方:
- 構(gòu)造器
- 屬性訪問子
- 事件訪問子
- 匿名函數(shù)
- Lam不大表達(dá)式中
- Finalizers
- 另外的local function內(nèi)。
定義格式:
<modifiers: async | unsafe> <return-type> <method-name> <parameter-list>總結(jié)
以上是生活随笔為你收集整理的C# v7.0版本中的local function的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 亲自点赞!吉利李书福已上手魅族20新机
- 下一篇: C#中扩展类的方法