08 2016 档案

摘要:1、多线程编程必备知识 1.1 进程与线程的概念 当我们打开一个应用程序后,操作系统就会为该应用程序分配一个进程ID,例如打开QQ,你将在任务管理器的进程选项卡看到QQ.exe进程,如下图: 进程可以理解为一块包含了某些资源的内存区域,操作系统通过进程这一方式把它的工作划分为不同的单元。一个应用程序 阅读全文
posted @ 2016-08-22 23:56 Helius-黑牛 阅读(25052) 评论(1) 推荐(4)
摘要:在C#4.0中,最核心的特性莫过于动态类型的引入。 1、动态类型简介 一直在强调C#是一门静态类型的语言,因为它在定义变量时要明确给出变量的类型。例如在int i=5;这样的代码中,int就是变量i的类型,如果定义变量时没有明确指定变量的类型,则这样的代码是通过不了编译的。 在C#4.0中,微软引入 阅读全文
posted @ 2016-08-21 16:42 Helius-黑牛 阅读(562) 评论(0) 推荐(0)
摘要:1、可选参数和命名实参 可选参数和命名实参就如同一对好基友,因为它们经常一起使用。 1.1 可选参数 可选参数重在“可选”,即在调用方法时,该参数可以明确指定实参,也可以不指定。如下代码所示,下面代码就包含3个参数,一个必备参数和两个可选参数。 在以上代码中,参数x是必选参数,即调用方法必须指定实参 阅读全文
posted @ 2016-08-19 22:38 Helius-黑牛 阅读(285) 评论(0) 推荐(0)
摘要:1、LINQ是什么? LINQ是Language Integrated Query的缩写,即“语言集成查询”的意思。LINQ的提出就是为了提供一种跨越各种数据源的统一的查询方式,它主要包含4个组件--Linq to Objects、Linq to XML、Linq to DataSet和Linq t 阅读全文
posted @ 2016-08-18 23:54 Helius-黑牛 阅读(436) 评论(0) 推荐(0)
摘要:1、什么是扩展方法? 扩展方法,首先是一种方法,它可以用来扩展已定义类型中的方法成员。 在扩展方法诞生之前,如果想为一个已有类型自定义含有特殊逻辑的新方法时,你必须重新定义一个类型来继承已有类型,以这种方式来添加方法。如果基类有抽象方法,则还要重新去实现这个抽象方法。 这样,为了扩展一个方法,需要承 阅读全文
posted @ 2016-08-15 23:18 Helius-黑牛 阅读(7089) 评论(0) 推荐(0)
摘要:Lambda表达式也是C#3.0中最重要的特性之一。 1、Lambda表达式的简介 Lambda表达式可以理解为一个匿名方法,它可以包含表达式和语句,并且用于创建委托或转换为表达式树。在使用Lambda表达式时,都会使用“=>”运算符,该运算符的左边是匿名方法的输入参数,右边则是表达式或语句块。 1 阅读全文
posted @ 2016-08-14 22:54 Helius-黑牛 阅读(779) 评论(0) 推荐(0)
摘要:隐式类型和对象集合初始化器是在C# 3.0中引入的。 1 隐式类型 var关键字,主要还是编译器根据变量的值来推断其类型。 1.1隐式类型的局部变量 其实当你把鼠标放在var上面的时候,还是可以看到其类型的。 使用隐式类型时有一些限制,包括一下几点: (1)被声明的变量是一个局部变量,不能为字段(包 阅读全文
posted @ 2016-08-11 00:05 Helius-黑牛 阅读(1055) 评论(0) 推荐(0)
摘要:迭代器也是C# 2.0的产物。 1.1 迭代器的简介 迭代器记录了集合中的某个位置,它使程序只能向前移动。C# 1.0中使用foreach语句来实现访问迭代器的内置支持,foreach使遍历集合变得简单,它比for语句更方便,也更容易理解。foreach被编译器编译后,会调用GetEnumerato 阅读全文
posted @ 2016-08-09 23:39 Helius-黑牛 阅读(337) 评论(0) 推荐(0)
摘要:与前面的可空类型是一样的,匿名方法也是C# 2.0里面提出来的。 1 匿名方法 1.1 什么是匿名方法? 顾名思义,就是没有名称的方法,因为没有名称,匿名方法只能在函数定义(匿名方法是把方法的实现和定义嵌套在了一起)的时候被调用,在其他任何情况下都不能被调用。对于编译器来说,匿名方法并不是没有名字的 阅读全文
posted @ 2016-08-08 23:43 Helius-黑牛 阅读(495) 评论(0) 推荐(0)
摘要:可空类型这个优美的特性是在C#2.0里面提出来的。 1、可空类型 当我们在使用数据库的时候,会发现这样的一个矛盾点:数据库的字段设置是允许为null的,比如日期的字段,当你想把数据库表映射为C#中的对象时会发现,DateTime类型在C#语言中是不能为null的! 1.1 简介 可空类型也是值类型, 阅读全文
posted @ 2016-08-07 21:41 Helius-黑牛 阅读(1255) 评论(0) 推荐(0)