返回值

C# 委托和事件

a 夏天 提交于 2020-02-10 09:42:07
委托简介 委托是一种数据类型,像类一样的数据类型,一般直接在命名空间中定义 定义委托时,使用关键字delegate,需要指定返回值类型、委托名称、参数列表 委托的使用 声明委托变量并赋值 委托是一个引用类型,可以为null,所以使用时候尽量先做非空验证 委托类型的变量只能赋值一个委托类型的对象(方法) 委托应用范围 在程序中,有一段代码需要根据引用者不同而做出不同的判断,有时候我们会用 if 判断做这个需求,但是 if 判断是需要知道值的范围才能做出判断,万一要是都不知道调用者会穿什么值进来怎么办,这时候就可以使用委托,让调用者自己决定这段代码写什么,怎么写 实际应用 定义委托 // 定义一个无参数无返回值的委托 delegate void MyDelegate(); // 定义一个有参数无返回值的委托 delegate void MyDelegate1(string msg); // 定义一个无参数有返回值的委托 delegate string MyDelegate2(); // 定义一个有参数有返回值的委托 delegate string MyDelegate3(string msg); 定义委托 // 定义无参数无返回值的委托变量 将一个无参数无返回值的方法赋值给委托 MyDelegate m1 = new MyDelegate(Method); //

005-Java方法

有些话、适合烂在心里 提交于 2020-02-09 22:25:55
目标 1.理解什么是方法 2.掌握方法的声明格式 3.掌握方法的使用 4.掌握方法的重载 5.了解递归算法 第一节:方法 1.1 什么是方法 Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段。 1.2 为什么要声明方法 1 把复用的逻辑抽取出来,封装成方法,提高代码的重用性 2 实现相对独立的逻辑,提高代码的维护性 3 可以对具体实现进行隐藏、封装 1.3 方法的作用 简化代码,提高代码的可读性,可维护性,可重用性。 1.4 方法的声明格式 语法: 访问权限修饰符 其他修饰符 返回值类型 方法名称(参数列表) { //方法体【函数体】 return 返回值;//如果返回值类型void ,可以不用写return } 1.4.1方法的分类 根据方法有没有参数,可分为: 1.无参方法 2.有参方法 根据有没有返回值,可分为: 1.无返回值方法 2.有返回值方法 上机练习: 1. 最简单的无参方法 void sum1(){ System.out.println("加法操作"); } 2. 拥有修饰符的无参方法 public static void sum2(){ System.out.println("加法操作"); } 3. 拥有参数的方法 public static void sum3(int a,int b){ System.out.pritln("两数相加结果"

函数式编程——C#理解

非 Y 不嫁゛ 提交于 2020-02-09 04:08:19
转自: http://www.cnblogs.com/xiaozhi_5638/p/4762846.html 目录 一个问题 函数式编程中的函数 数学与函数式编程 混合式编程风格 一个问题 假设现在我们需要开发一个绘制数学函数平面图像(一元)的工具库,可以提供绘制各种函数图形的功能,比如直线f(x)=ax+b、抛物线f(x)=ax²+bx+c或者三角函数f(x)=asinx+b等等。那么怎么设计公开接口呢?由于每种行数的系数(a、b、c等)不同,并且函数构造也不同。正常情况下我们很难提供一个统一的接口。所以会出现类似下面这样的公开方法: //绘制直线函数图像 public void DrawLine(double a, double b) { List<PointF> points = new List<PointF>(); for(double x=-10;x<=10;x=x+0.1) { PointF p =new PointF(x,a*x+b); points.Add(p); } //将points点连接起来 } //绘制抛物线图像 public void DrawParabola(double a, double b, double c) { List<PointF> points = new List<PointF>(); for(double x=-10;x<=10;x

每个人都应该懂点函数式编程

倖福魔咒の 提交于 2020-02-09 03:57:47
目录 一个问题 函数式编程中的函数 数学与函数式编程 混合式编程风格 一个问题 假设现在我们需要开发一个绘制数学函数平面图像(一元)的工具库,可以提供绘制各种函数图形的功能,比如直线f(x)=ax+b、抛物线f(x)=ax²+bx+c或者三角函数f(x)=asinx+b等等。那么怎么设计公开接口呢?由于每种行数的系数(a、b、c等)不同,并且函数构造也不同。正常情况下我们很难提供一个统一的接口。所以会出现类似下面这样的公开方法: //绘制直线函数图像 public void DrawLine(double a, double b) { List<PointF> points = new List<PointF>(); for(double x=-10;x<=10;x=x+0.1) { PointF p =new PointF(x,a*x+b); points.Add(p); } //将points点连接起来 } //绘制抛物线图像 public void DrawParabola(double a, double b, double c) { List<PointF> points = new List<PointF>(); for(double x=-10;x<=10;x=x+0.1) { PointF p =new PointF(x,a*Math.Pow(x,2) + b*x

python列表的常用操作方法

*爱你&永不变心* 提交于 2020-02-09 02:10:10
python列表的常用操作方法 1. 列表添加数据:    1 、 list.append() 添加对象:   2 、 list.extend(list1) 扩展列表 :   3 、 list.insert() 插入对象:   4 、 list.copy() 复制列表 (python3) eg: list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4] list.insert(3, "test")# 将对象插入列表的第三个位置 print(list)#[6, 4, 5, 'test', 2, 744, 1, 76, 13, 8, 4] list.append("obj") # 在列表末尾添加新的对象 print(list)#[6, 4, 5, 2, 744, 1, 76, 13, 8, 4, 'obj'] list1 = [123, 456, 789] list.extend(list1) # 扩展列表,在列表末尾一次性追加另一个列表中的多个值(相当于把 list1 的元素复制到 了 list ) print(list)#[6, 4, 5, 2, 744, 1, 76, 13, 8, 4, 123, 456, 789] list2 = list.copy() print(list2)#[6, 4, 5, 2, 744, 1, 76, 13, 8, 4] 2

PB常用函数

梦想的初衷 提交于 2020-02-08 23:15:53
弹出窗口:messagebox() 基本写法:Messagebox('标题','内容') 完整写法: MessageBox ( '标题','内容',图标,按键,默认值) (1)其中标题与内容为要显示的字符串,不可省略,但可以省略,即什么也不显示,例如Messagebox('','')这样也是正确的单里面的东西一样也不能少! (2)图标可选值: Question!或None! 或Information!或 StopSign! 或 Exclamation!(默认图标) (3)按键可选值: OK! (默认方式)或 OKCancel! 或 YesNo! 或YesNoCancel! 或RetryCancel! 或AbortRetryIgnore! (4)默认值为可选: 1 (默认选择)或 2 或 3(即弹出消息框时的默认选择按钮) 该函数有返回值,1,2,3对选择的按键。 基本写法事例: MessageBox('此处为标题,'此处为内容') 完整写法事例: if MessageBox('提示信息','是否删除?',&Question! ,OKCancel! , 1 ) = 1 then//选择确定 MessageBox('提示信息', '你选择了删除') else//选择取消 MessageBox('提示信息','你选择了不删除') end if 设置焦点:setfocus() 对象名

第四章 JavaScript 数组挖掘

守給你的承諾、 提交于 2020-02-08 22:17:32
1.值类型与引用类型 值类型会指向同一个内存地址,而引用类型不会。 let array = [1,2,3,4] let msg = array msg[1] = "weizhuren" console.log(msg)//[1, "weizhuren", 3, 4] console.log(array)//[1, "weizhuren", 3, 4] console.table(array)//以表格形式打印 let a = 99 let b = a b++ console.log(a,b)//99 100 2.多维数组操作 多为数组可以使用以下方式定义,但是在开发过程中我们通常使用数组内定义对象的方式。 let array = ["wei",["zhu","ren"]] console.log(array[1][1]) let msg = [{name:"weizhuren",department:"erbihou"}] console.log(msg[0].name) 3.Array.of与数组创建细节 如果在一个长度为n的数组中新增加一个n+m(m>1)的元素,那么中间没有定义的元素会全部定义为undefined。 let array = ["weizhuren"] array[2] = "erbihou" console.log(array)//["weizhuren",

Python列表、元组结构详解

ⅰ亾dé卋堺 提交于 2020-02-08 18:51:55
目录 列表 导言 什么是列表 访问列表的元素 列表元素的修改、添加与删除 修改列表元素 添加列表元素 从列表中删除元素 组织列表 列表排序 列表临时排序 反转列表 确定列表元素个数,最大值,最小值,统计某个元素在列表中出现的次数 查找元素 新列表扩展原列表 检查某个元素是否是序列的成员 操作列表 遍历列表 切片 复制列表 将其他结构转换为列表 元组 什么是元组 如果我修改了元组变量? 如果我非要修改元组变量,怎么办? 删除元组 将其他结构转换为元组 列表和元组的区别 参考资料: 例题讲解 jmu-python-回文数判断 题目分析 代码实现 jmu-Java&Python-统计一段文字中的单词个数并按单词的字母顺序排序后输出 题目分析 jmu-python-从列表中删除元素 题目分析 代码实现 jmu-python-杨辉三角 题目分析 代码实现 由于我刚开始学习Python时,被序列结构转晕了,所以写了这篇博客。 列表 导言 例如我们打开PTA网站,随便打开一个题目集,我们可以查看一个叫题目列表的页面,如图所示,在这个列表中,我们可以看到这个列表展示了我们需要练习的题目,Python中的列表结构就与这个例子类似。 什么是列表 列表是由一系列按特定顺序排列的元素组成,列表的数据项不需要具有相同的类型,你可以往列表中加入任何内容,列表中的元素之间没有任何关系。在Python中,我们

js的一些数组方法

泪湿孤枕 提交于 2020-02-08 17:55:58
find() 方法主要用来返回数组中符合条件的第一个元素(没有的话,返回undefined) filter() 方法主要用来筛选数组中符合条件的所有元素,并且放在一个新数组中,如果没有,返回一个空数组 map() 方法主要用来对数组中的元素调用函数进行处理,并且把处理结果放在一个新数组中返回(如果没有返回值,新数组中的每一个元素都为undefined) forEach() 方法也是用于对数组中的每一个元素执行一次回调函数,但它没有返回值(或者说它的返回值为undefined,即便我们在回调函数中写了return语句,返回值依然为undefined) 详细描述请参考这里(点击) 来源: CSDN 作者: 注目羔羊 链接: https://blog.csdn.net/weixin_44356804/article/details/104221649

细说@Html.ActionLink()的用法

偶尔善良 提交于 2020-02-08 17:52:01
https://www.cnblogs.com/sunshineground/p/4360469.html 一、@Html.ActionLink()概述    在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁。通过浏览器依然会解析成传统的a标签。除此之外,还允许我们添加Html属性。下面来看看@Html.ActionLink()的使用方法吧。 二、@Html.ActionLink()的使用详解   1. @Html.ActionLink("linkText", "actionName")   这种重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法(Action),默认控制器为当前页面对应的控制器。   例如,当前页面的控制器为ProductsController:@Html.ActionLink("detial", "Detial")会生成<a href="/Products/Detail">detail</a>   2. @Html.ActionLink("linkText", "actionName", "controllerName")    该重载比第一个重载多了一个参数,他指定了控制器的名称。   例如,@Html.ActionLink("detail", "Detail"