匿名方法:通过匿名委托 .lamada表达式定义的函数具体操作并复制给委托类型: 匿名委托:委托的一种简单化声明方式通过delegate关键字声明: 内置泛型委托:系统已经内置的委托类型主要是不带返回值的Action<T1,,,,Tn>和带返回值的Func<T1,,,Tn,Tresult> 实例代码(运行环境netcoreapp3.1) class demoFunc { /// <summary> /// 定义函数单条语句直接用lamada表达式 /// </su…
1.匿名方法的概念:一个方法没有具体的名称,而只有关键字delegate.方法参数.方法体.这种方法是匿名方法. 匿名方法的好处:将具体方法和委托直接关联在一起,如果我们基于委托只需要一个方法的时候,匿名方法肯定显得简单. 2.Lambda表达式:在C#3.0出现的.使用这种表达的可以更简练的编写代码块. CalculatorDelegate cal3 = (int a, int b) => { return a + b; }; CalculatorDelegate cal4 = (a, b)…
1.什么是Action泛型委托 Action<T>是.NET Framework内置的泛型委托,可以使用Action<T>委托以参数形式传递方法,而不用显示声明自定义的委托.封装的方法必须与此委托定义的方法签名相对应.也就是说,封装的方法必须具有一个通过值传递给它的参数,并且不能有返回值. 2.Action委托定义 查看Action的定义: using System.Runtime.CompilerServices; namespace System { // // 摘要: //…
1.什么是Func委托 Func委托代表有返回类型的委托 2.Func委托定义 查看Func的定义: using System.Runtime.CompilerServices; namespace System { // // 摘要: // 封装一个方法,该方法具有两个参数,并返回由 TResult 参数指定的类型的值. // // 参数: // arg1: // 此委托封装的方法的第一个参数. // // arg2: // 此委托封装的方法的第二个参数. // // 类型参数: // T1:…
生成器的send方法 在使用yield方法创建生成器时,不仅可以使用next方法进行取值,还可以通过send方法向生成器的内部传值 什么是send方法? send方法相当于高级的next方法,send方法不仅可以通过yield方法取出生成器中的值,还可以向生成器中传值 send方法的工作步骤 由于生成器在执行过程中,不会直接执行,当使用next方法进行取值时才会执行,当遇到yield关键字时停止,并把yield中的值传递出来首先,send方法会将外界的值传递进生成器内部,在由生成器中相应的变量进…
委托概念:如果我们要把方法当做参数来传递的话,就要用到委托.简单来说委托是一个类型,这个类型可以赋值一个方法的引用. 声明委托: 在C#中使用一个类分两个阶段,首选定义这个类,告诉编译器这个类由什么字段和方法组成的,然后使用这个类实例化对象.在我们使用委托的时候,也需要经过这两个阶段,首先定义委托,告诉编译器我们这个委托可以指向哪些类型的方法,然后,创建该委托的实例. 定义委托的语法如下: delegate void IntMethodInvoker(int x); 定义了一个委托叫做IntMe…
一.匿名类型可通过使用 new 运算符和对象初始值创建匿名类型.示例:var v = new { Name = "Micro", Message = "Hello" };var v = new[] {     new { Name = "Micro", Message = "Hello" },     new { Name = "Soft", Message = "Wold!" }};匿…
JavaScript封装一个函数效果类似内置方法concat() 首先回忆concat()的作用: concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 语法 arrayObject.concat(arrayX,arrayX,......,arrayX): 封装函数参考代码: 1 function likeConcat() { 2 3 function aPush(arr) { 4 for (let i = 0; i < arr.length…
函数 装饰器 内置函数 一.命名空间和作用域 二.装饰器 1.无参数 2.函数有参数 3.函数动态参数 4.装饰器参数 三.内置函数 salaries={ 'egon':3000, 'alex':100000000, 'wupeiqi':10000, 'yuanhao':250 } print(sorted(salaries)) #默认是按照字典salaries的key去排序的 print(sorted(salaries,key=lambda x:salaries[x])) sorted sor…
19.内置函数二 abs():绝对值 lst = [1,2,-3,1,2,-5] print([abs(i) for i in lst]) enumerate("可迭代对象","序号起始值"):枚举获取键和值,起始值默认为0 lst [1,2,-3,1,2,-5] print([i for i in enumerate(lst)]) print(i for i in enumerate(lst,10)) max():求最大值,放可迭代对象 min():最小值 sum…