摘要: Lambda表达式也是C#3.0中最重要的特性之一。 1、Lambda表达式的简介 Lambda表达式可以理解为一个匿名方法,它可以包含表达式和语句,并且用于创建委托或转换为表达式树。在使用Lambda表达式时,都会使用“=>”运算符,该运算符的左边是匿名方法的输入参数,右边则是表达式或语句块。 1 阅读全文
posted @ 2016-08-14 22:54 Helius-黑牛 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 隐式类型和对象集合初始化器是在C# 3.0中引入的。 1 隐式类型 var关键字,主要还是编译器根据变量的值来推断其类型。 1.1隐式类型的局部变量 其实当你把鼠标放在var上面的时候,还是可以看到其类型的。 使用隐式类型时有一些限制,包括一下几点: (1)被声明的变量是一个局部变量,不能为字段(包 阅读全文
posted @ 2016-08-11 00:05 Helius-黑牛 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: 迭代器也是C# 2.0的产物。 1.1 迭代器的简介 迭代器记录了集合中的某个位置,它使程序只能向前移动。C# 1.0中使用foreach语句来实现访问迭代器的内置支持,foreach使遍历集合变得简单,它比for语句更方便,也更容易理解。foreach被编译器编译后,会调用GetEnumerato 阅读全文
posted @ 2016-08-09 23:39 Helius-黑牛 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 与前面的可空类型是一样的,匿名方法也是C# 2.0里面提出来的。 1 匿名方法 1.1 什么是匿名方法? 顾名思义,就是没有名称的方法,因为没有名称,匿名方法只能在函数定义(匿名方法是把方法的实现和定义嵌套在了一起)的时候被调用,在其他任何情况下都不能被调用。对于编译器来说,匿名方法并不是没有名字的 阅读全文
posted @ 2016-08-08 23:43 Helius-黑牛 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 可空类型这个优美的特性是在C#2.0里面提出来的。 1、可空类型 当我们在使用数据库的时候,会发现这样的一个矛盾点:数据库的字段设置是允许为null的,比如日期的字段,当你想把数据库表映射为C#中的对象时会发现,DateTime类型在C#语言中是不能为null的! 1.1 简介 可空类型也是值类型, 阅读全文
posted @ 2016-08-07 21:41 Helius-黑牛 阅读(1214) 评论(0) 推荐(0) 编辑
摘要: 中间因为比较忙,空了那么多天,都感觉有点罪过了。话不多说,这一篇主要是要讲C#2.0提出的一个新特性,那就是泛型。(现在都C#6.0了。囧囧) 1、什么是泛型? C#1.0中的委托特性使方法可作为其他方法的参数来传递,而C#2.0中提出的泛型特性则使类型可以被参数化,从而不必再为不同的类型提供特殊版 阅读全文
posted @ 2016-04-23 18:05 Helius-黑牛 阅读(1533) 评论(0) 推荐(0) 编辑
摘要: 在C#中,有两种大类型——值类型和引用类型。 1、值类型与引用类型 深入的理解这两种类型是非常重要的,面试官会考验面试者对这两个知识的了解来判断基础是否扎实,并且有没有深入的去思考。 1.1 什么是值类型与引用类型 值类型主要包括简单类型、枚举类型和结构体类型等。值类型的实例通常被分配到线程的堆栈上 阅读全文
posted @ 2016-04-12 11:12 Helius-黑牛 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 在前面一篇中写到了委托,也说了委托是C#中很多特性的基础,这篇要讲的事件,就是建立在委托之上的。在C#1.0中,委托和事件是最重要的两个特性。 1、什么是事件? 事件设计到两类角色——事件发布者和事件订阅者。当某个事件发生后,事件发布者会发布消息;事件订阅者会接收到信息,并做出相应的处理,这就是事件 阅读全文
posted @ 2016-04-11 10:32 Helius-黑牛 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 委托是C#最重要的特性之一,C#后面的所有特性基本都是建立在委托的基础上的。 1、C#委托是什么? 可以把C#的委托理解为函数的一个包装,它使得C#中的函数可以作为参数来被传递。如果你学过C++,可以理解为相当于上面的函数指针。 委托的定义和方法的定义类似,只是在定义的前面多了一个delegate关 阅读全文
posted @ 2016-04-07 13:31 Helius-黑牛 阅读(554) 评论(1) 推荐(1) 编辑
摘要: 接口的出现,是为了解决C#中不允许多重继承的问题。 1、什么是接口? 我觉得可以把接口理解为对一组方法声明进行的统一命名,但这些方法没有提供任何实现。 通过接口,就可以对方法进行统一管理,避免了在每种类型中重复定义这些方法。 2、如何使用接口来编程 2.1 接口的定义 interface ICust 阅读全文
posted @ 2016-04-02 19:35 Helius-黑牛 阅读(659) 评论(0) 推荐(0) 编辑