摘要: 匿名委托写法:delegate(参数列表){方法体}Lambda 表达式写法:(参数列表)=>{方法体}在 C# 2.0 中,加入了匿名方法特性:在 C# 3.0 中,继匿名方法之后加入了更为简洁的 Lambda 表达式:最基本的 Lambda 表达式语法如下:参数列表中的参数类型可以是明确类型或者是推断类型;如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出来。Lambda与匿名方法的关系总体上说,匿名方法可以看作是Lambda 表达式的功能子集,但是两者存在以下区别:Lambda 表达式的参数允许不指明参数类型,而匿名方法的参数必须明确指明参数类型Lambda 表达式的方 阅读全文
posted @ 2013-02-21 17:54 guosongORxiaosong 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 委托和接口都允许类设计器分离类型声明和实现。给定的接口可由任何类或结构继承和实现;可以为任何类中的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢?委托具有以下特点:委托类似于 C++ 函数指针,但它们是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不必与委托签名完全匹配。 在以下情况中使用委托:当使用事件设计模式时。-一种设计模式当封装静态方法可取时。-隐藏静态方法;我举个例子:new de 阅读全文
posted @ 2013-02-21 17:20 guosongORxiaosong 阅读(800) 评论(0) 推荐(0) 编辑
摘要: 委托的定义:委托可以理解为一个函数指针,它定义了一个函数的原型。委托可以看作是托管版本的函数指针委托只对方法的原型(签名)进行约束委托可以方便我们在程序运行时动态决定对象的行为如下图:委托的实例化:委托的实例化就是将委托变量指向一个符合委托原型的实际方法。 委托的使用:定义一个处理字符串的委托 ProcessStringDelegate,编写两个方法:一个方法以 Pascal 方式将字符串输出到控制台;一个方法直接将字符串显示到消息框中转载连接:C#中的委托和事件http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html.. 阅读全文
posted @ 2013-02-21 17:16 guosongORxiaosong 阅读(326) 评论(0) 推荐(0) 编辑
摘要: LINQ( Language Integrated Query )即语言集成查询LINQ 是一组语言特性和API,使得你可以使用统一的方式编写各种查询。查询的对象包括XML、对象集合、SQL Server 数据库等等。LINQ 主要包含以下三部分:LINQ to Objects 主要负责对象的查询LINQ to XML 主要负责 XML 的查询LINQ to ADO.NET 主要负责数据库的查询LINQ to SQLLINQ to DataSetLINQ to Entities面向对象与数据访问两个领域长期分裂,各自为政编程语言中的数据类型与数据库中的数据类型形成两套体系。例如: C# ... 阅读全文
posted @ 2013-02-21 16:33 guosongORxiaosong 阅读(165) 评论(0) 推荐(0) 编辑
摘要: object 是把一个变量直接声明成object类型 而var则根据赋值的类型自动设置变量的类型 阅读全文
posted @ 2013-02-21 16:26 guosongORxiaosong 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 第一个特性:隐式类型化本地变量我们可以统一使用使用"var"关键字来声明局部变量,而不再需要指明变量的确切类型,变量的确切类型可通过声明变量时的初始值推断出来。由于变量的类型是通过变量初始值推断而来的,所以在声明变量的同时必需为变量指定初始值。并且,变量并不是没有类型的,变量一旦初始化后,类型就确定下来了,以后就只能存储某种类型的值。第二个特性:匿名类型通过匿名类型,我们可以简单使用new { 属性名1=值1, 属性名2=值2, ..... , 属性名n=值n }的形式直接在函数中创建新的类型,在新类型中只能有字段成员,而且这些字段的类型也是通过初值的类型推断出来的。第三个 阅读全文
posted @ 2013-02-21 16:16 guosongORxiaosong 阅读(182) 评论(0) 推荐(0) 编辑