摘要: LINQ小结 一.LINQ是什么 LINQ也就是Language Interrated Query的缩写,怎么一个缩写法我也不明白,即语言集成查询,是微软在.NET3.5中提出的一项新技术,LINQ主要包含四个组件,下面看一下LINQ的一个架构图: 简单的介绍一些四个组件: 1.Linq to SQ 阅读全文
posted @ 2017-09-27 17:10 贫道俺来也 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://blog.csdn.net/shanyongxu/article/details/47257511 LINQ提供程序 .NET3.5包含了几个LINQ提供程序. LINQ提供程序为特定的数据源实现了标准的查询操作符. LINQ提供程序也许会实现LINQ定义的更多扩展方法,但至 阅读全文
posted @ 2017-09-27 17:10 贫道俺来也 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 表达式树总结 基础 表达式树提供了一个将可执行代码转换成数据的方法.如果你要在执行代码之前修改或转换此代码,那么它是很有用的.有其是当你要将C#代码 如LINQ查询表达式转换成其他代码在另一个程序 如SQL数据库里操作它. 表达式树的语法: 考虑下面简单的Lambda表达式: Func<int,in 阅读全文
posted @ 2017-09-27 17:09 贫道俺来也 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 表达式树 以前没听过表达式树,只听过表达式,而且听过Lambda表达式,首先介绍一下.NET里表达式树的核心概念:讲代码作为数据,他将一些代码表示为一个对象树,树中的每个节点本身都是一个表达式,不同的表达式类型代表能在代码中执行不同操作:二元操作,一元操作,方法调用等等. System.Linq.E 阅读全文
posted @ 2017-09-27 17:08 贫道俺来也 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 并行LINQ .NET4在System.Linq命名空间中包含一个新类ParallelEnumerable,可以分解查询的工作使其分布在多个线程上.尽管Enumerable类给IEnumerable<T>接口定义了扩展方法,但ParallelEnumerable类的大多数扩展方法是ParallelQ 阅读全文
posted @ 2017-09-27 17:07 贫道俺来也 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 并行的扩展 扩展1. Parallel的使用: 在Parallel下面有三个常用的方法Invoke,For,ForEach Parallel.Invoke()方法是最简单,最简洁的将串行的代码并行化. 在这里先说一点,就是Stopwatch的使用,Stopwatch到底是个什么东西,首先Stopwa 阅读全文
posted @ 2017-09-27 17:07 贫道俺来也 阅读(134) 评论(0) 推荐(0) 编辑
摘要: LINQ标准的查询操作符 首先我们来看一下LINQ的操作符,可根据查询操作符的操作”类型”进行分类,如把它们分成投影,限制,排序,联接,分组,串联,聚合,集合,生成,转换,元素,相等,量词,分割等. 类型 操作符名称 投影操作符 Select,SelectMany 限制操作符 Where 排序操作符 阅读全文
posted @ 2017-09-27 17:06 贫道俺来也 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 原文链接: http://blog.csdn.net/shanyongxu/article/details/47208401 LINQ中的扩展方法 LINQ中where扩展方法,要想使用,必须导入using System.Linq;我们看一下这个方法的声明: public static IEnume 阅读全文
posted @ 2017-09-27 17:05 贫道俺来也 阅读(283) 评论(0) 推荐(0) 编辑
摘要: LINQ的概述 LINQ的全名为语言继承查询,是VS2008个.NET3.5版中一款突破性的创新,他再对象领域和数据领域之间架起了一座桥梁.使用LINQ能大大加快对于对象数据等等的查询,加快效率. 由于低版本的VS不支持LINQ,我是用的VS2012,案例如下: public class ObjDa 阅读全文
posted @ 2017-09-27 17:05 贫道俺来也 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 各种集合的性能 许多集合类提供了相同的功能,例如,SortedList类与SortedDictionary类的功能几乎完全相同.但是,其性能常常有很大的区别.SortedList集合使用的内存少,SortedDictionary集合的元素检索速度快. 在MSDN文档中,集合的方法常常有性能提示,给出 阅读全文
posted @ 2017-09-27 17:04 贫道俺来也 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 并行集合 对于并行任务,与其相关紧密的就是对一些共享资源,数据结构的并行访问.经常要做的就是对一些队列进行加锁-解锁,然后执行类似插入,删除等等互斥操作. .NET4提供了一些封装好的支持并行操作数据容器,可以减少并行编程的复杂程度. 并行集合的命名空间:System.Collections.Con 阅读全文
posted @ 2017-09-27 17:03 贫道俺来也 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 原文链接: http://blog.csdn.net/shanyongxu/article/details/47080685 可观察的集合 如果需要集合中的元素核实删除或添加的信息,就可以使用ObservableCollection<T>类. ObservableCollection<T>类表示一个 阅读全文
posted @ 2017-09-27 17:02 贫道俺来也 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 位数组 如果需要处理很多位,就可以使用BitArray类和BitVector32.BitArray位于命名空间System.Collections中. BitVector32位于命名空间System.Collections.Speciallized. BitArray类 类BitArray是一个引用 阅读全文
posted @ 2017-09-27 17:02 贫道俺来也 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 集 饱含不重复元素的集合称为”集(set)”. .NET4包含两个集(HashSet<T>和SortedSet<T>),他们都实现ISet<T>接口.HashSet<T>即包含不重复元素的无序列表,SortedSet<T>集包含不重复元素的有序列表. ISet<T>接口提供的方法可以创建合集,交集, 阅读全文
posted @ 2017-09-27 17:01 贫道俺来也 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 字典 关键字:Dicitionary 说明: 必须包含命名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由两个元组组成:键和值). 键必须是唯一的,而值不需要唯一的. 键和值都可以是任意类型(例如:string,int,自定义类型,等等) 阅读全文
posted @ 2017-09-27 16:59 贫道俺来也 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 有序列表 如果需要基于对所有集合排序,就可以使用SortedList<TKey,TValue>类.这个类按照键给元素排序.这个集合中的值和键都可以使用任意类型. 下面的例子创建了一个有序列表,其中键和值类型都是string.默认的构造函数创建了一个空列表,再用Add()方法添加书.使用重载的构造函数 阅读全文
posted @ 2017-09-27 16:57 贫道俺来也 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 原文链接: http://blog.csdn.net/shanyongxu/article/details/47024865 链表 LinkedList<T>集合类没有非泛型类的版本,它是一个双向链表,他的元素指向元素的前一个与后一个元素. 链表的有点事:如果要插入一个元素到链表的中间位置,效率很高 阅读全文
posted @ 2017-09-27 16:56 贫道俺来也 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 栈 栈与队列是一个非常类似的容器,他们的区别在于队列是先进先出,而栈是后进先出. Stack与Stack<T>,像队列一样,栈也提供了泛型与非泛型版本. Stack的方法: 方法 说明 Pop() 从栈顶读栈并删除元素 Push() 存放数据,存在栈顶 Peek() 从栈顶读,但不删除 案例: us 阅读全文
posted @ 2017-09-27 16:55 贫道俺来也 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 队列 1.Queue定义 System.Collections.Queue类表示对象的先进先出集合,存储在Queue(队列)中的对象在一端插入,从另一端移除. 2.优点 (1).能对集合进行顺序处理(先进先出) (2)能接受null值,并且允许重复的元素 3.Queue的构造器 构造器函数 注释 Q 阅读全文
posted @ 2017-09-27 16:54 贫道俺来也 阅读(155) 评论(0) 推荐(0) 编辑
摘要: C#中的List C#中deList怎么样?List<T>类是ArrayList类的泛型等效类,该类使用大小可按需动态增长的数组实现List<T>泛型接口. 泛型的好处:它为使用C#语言编写面向对象程序增加了极大的效力和灵活性,不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转化,所以性 阅读全文
posted @ 2017-09-27 16:54 贫道俺来也 阅读(180) 评论(0) 推荐(0) 编辑