C# v7.0版本中的local function
生活随笔
收集整理的這篇文章主要介紹了
C# v7.0版本中的local function
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介
變量和函數根據作用域,有本地的,如local variable, 也有全局的,如Global variable.
對于OO領域的函數,一般我們知道,根據訪問限定,有public、protected、private;
其他的還有內聯的inline的函數。
在C# 7中,類似內部類,函數也可以定義在一個函數體內,變成函數內的函數。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.
定義及調用位置
local function可以被調用和定義在這些地方:
- 構造器
- 屬性訪問子
- 事件訪問子
- 匿名函數
- Lam不大表達式中
- Finalizers
- 另外的local function內。
定義格式:
<modifiers: async | unsafe> <return-type> <method-name> <parameter-list>總結
以上是生活随笔為你收集整理的C# v7.0版本中的local function的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 亲自点赞!吉利李书福已上手魅族20新机
- 下一篇: Plugable 推出 8 合 1 US