博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
委托和Lambda表达式
阅读量:4220 次
发布时间:2019-05-26

本文共 918 字,大约阅读时间需要 3 分钟。

###对象初始化器与集合初始化器

  即通过构造函数实例化对象或集合,并同时赋值。这样的方式被称为初始化器。

Person p=new Person('张三',20,'男')

###委托

  委托是一个,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
  我们知道委托是一个引用类型,所以它具有引用类型所具有的通性。它保存的不是实际值,而是保存对存储在托管堆(managed heap)中的对象的引用。委托保存的是对函数(function)的引用。

###Lambda表达式

  • 是一个匿名函数,它可以包含表达式和语句。可用于创建委托。
  • 运算符=>,该运算符读作 “goes to”
  • 格式:(input paramesters)=>expresssion
//定义委托public delegate int AddSum(int a,int b);Class Program{	static void Main(string[] args)	{		Program p=new Program();				//1、通过调用方法使用		AddSum addSum1=new AddSum(p.Add);		//2、完整写法		AddSum addSum2=delegate(int a,int b){ return a+b};		//3、通过Lambda表达式,使用委托计算a+b的和。		AddSum addSum3=(int a, int b)=>{ return a+b };		//4、将上行语句简写		AddSum addSum4=(a,b))=>{ return a+b };				//调用实现委托方法,可以换成addSum1 、addSum2...		int sum=addSum1(5,3);		Console.writeLine(sum);    //输出	}	//定义实现a+b的方法	public int Add(int a,int b)	{		return a+b;	}}

转载地址:http://sjqmi.baihongyu.com/

你可能感兴趣的文章
mysql 随机分页的优化
查看>>
DB2快速创建测试库
查看>>
利用db2look查看ddl
查看>>
SD卡驱动分析--基于高通平台
查看>>
[图文] Seata AT 模式分布式事务源码分析
查看>>
pm 源码分析
查看>>
Sending the User to Another App
查看>>
kmsg_dump
查看>>
Getting a Result from an Activity
查看>>
Allowing Other Apps to Start Your Activity
查看>>
dev/mem
查看>>
pfn_valid 源码分析
查看>>
dev/kmem 和dev/mem的区别
查看>>
test-definitions/blob/master/auto-test/bigdata/bigdata.sh
查看>>
/test-definitions/blob/master/auto-test/blktrace/blktrace.sh
查看>>
test-definitions/blob/master/auto-test/blogbench/blogbench.sh
查看>>
test-definitions/blob/master/auto-test/boost/boost.sh
查看>>
Java多态性理解
查看>>
Intellij Idea 工具在java文件中怎么避免 import .*包,以及import包顺序的问题
查看>>
IDEA Properties中文unicode转码问题
查看>>