C#3.0匿名类和Lanmda表达式
1.初始化器:className variableName = new className(property1=value1…);
2.var可以声明一个没有类型的变量,根据赋值的不同改变数据类型
3.匿名方法,如果一个类用的少,可以省略类名,直接创建实例化
4.扩展方法:支持给基础类添加方法
//匿名方法例子
static void Main(string[] args) {
var class1 = new { name = "jack", age = , gender = "man" };
Console.WriteLine(class1.name+class1.age+class1.gender);
for (;;) ;}
另一个例子
public static class StringExtension { //扩展类名,必须静态类
public static string ExtensionFunction(this string input) {//必须有参数,表示调用扩展方法的类实例
return "Hello "+input;
}
}
class Program {
static void Main(string[] args) {
string str = "this is a string";
Console.WriteLine(str.ExtensionFunction());//输出Hello this is a string
for (;;) ;
}
}
Lanmda表达式
Lanmuda表达式:是用来简化匿名方法,由三个部分构成:1.放在括号内的参数列表(未类型化,可以推断参数)2.=>运算符 3.C#语句
delegate int CalculateDelegate(int a, int b);//构建两个参数委托
class Program
{
static void CalculateFunction(CalculateDelegate cal)
{
int a = , b = ;
Console.WriteLine(cal(a,b));
}
static void Main(string[] args) {
Program.CalculateFunction((a,b)=>a+b);//输出200
Program.CalculateFunction((a, b) => a * b);//输出10000
CalculateDelegate c;
c = (a, b) => a + b; //相当于构建函数
Console.WriteLine(c(,));//输出20
for (;;) ;
}
}
C#3.0匿名类和Lanmda表达式的更多相关文章
- JAVA8 in Action:行为参数化,匿名类及lambda表达式的初步认知实例整理
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.functio ...
- java语言中的匿名类与lambda表达式介绍与总结 (Anonymous Classes and Lambda Expressions)
2017/6/30 转载写明出处:http://www.cnblogs.com/daren-lin/p/anonymous-classes-and-lambda-expressions-in-java ...
- Java 匿名类和lambda表达式
一.匿名内部类 一个匿名内部类是一个没有名字的内部类.它将进一步定义一个内部类以及创建一个内部类的实例. 内部类处理器可以使用匿名内部类进行代码简化. 匿名内部类的语法如下所示: new SuperC ...
- .net学习之新语法学习(匿名类和匿名方法,扩展方法,系统内置委托,Lambda表达式和linq等)
1.自动属性 Auto-Implemented Properties 2.隐式类型 var var变量不能作为全局变量使用,因为不能在编译时确定类型 3.参数默认值 和 命名参数 4.对象初始化器 ...
- .NET Framework System.Array.Sort 数组类,加深对 IComparer、IComparable 以及泛型委托、匿名方法、Lambda 表达式的理解
本文内容 自定义类 Array.Sort 参考资料 System.Array.Sort 有很多对集合的操作,比如排序,查找,克隆等等,你可以利用这个类加深对 IComparer.IComparable ...
- Effective Java 第三版——42.lambda表达式优于匿名类
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- C# 3.0 / C# 3.5 对象集合初始化器、匿名类
对象集合初始化器 在 .NET 2.0 中构造一个对象的方法一是提供一个重载的构造函数,二是用默认的构造函数生成一个对象,然后对其属性进行赋值. 在 .NET 3.5/C# 3.0 中,我们有一种更好 ...
- 匿名方法,lambad表达式,匿名类
其实lambad表达式就是“函数”或者说是“方法”写法的一个进化,越来越简化而已,如数学方法里的f(X). 匿名方法:顾名思义,匿名方法就是没有名称的方法,但是有定义参数. 匿名方法最明显的好处就是可 ...
- Lambda表达式匿名类实现接口方法
Lamb表达式匿名类实现接口方法 import java.util.ArrayList; public class HandlerDemo{ public static void main(Strin ...
随机推荐
- Working with Metal—Overview
看完这个 WWDC 之后的总结. Metal 可以在单位时间内提供 10 倍的 draw call 调用. Background About Draw Call 每一次 draw call 调用都必须 ...
- C#-WebForm-光棒效果
<script type="text/javascript"> //获取Repeater的每一行 var oItems = document.getElementsBy ...
- jquery json实现面向对象 百度十二星座
效果: 源码: index.html <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- scp 一次拷贝多个文件
用正则表达式去匹配即可, scp *.tar root@11.11.11.12:/root/ 拷贝当前目录下的所有tar类型的文件到服务器上
- 数组或者stack
数组 clear1(long long int array[], size_t int size) { ; i < size; i += ) array[i] = ; } li x5, // i ...
- Go语言string包详解
strings包实现了用于操作字符的简单函数. 查找操作 判断给定字符串s中是否包含子串substr, 找到返回true, 找不到返回false func Contains(s, substr str ...
- 搭建django环境
一.安装django(两种方式) 1.pip install django 2.python setup.py install(下载gjango包:https://www.djangoproject. ...
- java 调用 C# 类库 实战视频, 非常简单, 通过 云寻觅 javacallcsharp 生成器 一步即可!
java 调用 C# 类库 实战视频, 非常简单, 通过 云寻觅 javacallcsharp 生成器 一步即可! 通过 云寻觅 javacallcsharp 生成器 自动生成java jni类库, ...
- (转)MySQL出现同步延迟有哪些原因?如何解决?
http://oldboy.blog.51cto.com/2561410/1682147----MySQL出现同步延迟有哪些原因?如何解决? 原文:http://www.zjian.me/mysql/ ...
- maven 根据profile,resources,filters来区分部署环境
项目过程中,在不同的阶段,分别需要部署开发环境,测试环境,线上环境.如果都用一套配置文件,很容易弄乱,所以维持多套配置文件很有必要. maven提供了一组属性以供开发人员灵活搭配,可以根据环境来打包, ...