IEnumerable 真是基础中的基础,然而..... 我们直接来看看这个接口的实现吧; 它是一个公开枚举数,该枚举数支持在非泛型集合上进行简单的迭代。换句话说,对于所有数组的遍历,都来自IEnumerable,那么我们就可以利用这个特性,来定义一个能够遍历xxxxxx的通用方法 先看我们的经典实 ...
分类:
编程语言 时间:
2017-07-21 00:05:47
阅读次数:
243
C# 泛型多种参数类型与多重约束 示例 1 2 3 4 5 6 7 8 9 10 11 12 interface IMyInterface { } class Dictionary<TKey, TVal> where TKey : IComparable, IEnumerable where TVa ...
IEnumerable接口和IEnumerator接口是.NET中非常重要的接口,二者有何区别? 1. 简单来说IEnumerable是一个声明式的接口,声明实现该接口的类就是“可迭代的enumerable”,但并没用说明如何实现迭代器(iterator).其代码实现为: public interf ...
分类:
编程语言 时间:
2017-07-11 01:02:35
阅读次数:
404
我们知道使用foreach的一个要求是对象必须继承自IEnumerable接口 这样才可以进行迭代 那内部是怎么实现的呢 这个时候会将对应的foreach语句转换为一个while循环 并且通过MoveNext方法来将索引位置向后移动一位,如果存在下一个元素则返回true,否则返回false 同时通过 ...
IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。IEnumerator对象有什么呢?它是一个真正的集合访问器,没有它,就不能使用foreach语句遍历集合或数组,因为只有IEnumerator对象才 ...
分类:
编程语言 时间:
2017-07-04 18:24:03
阅读次数:
178
public static System.Collections.Generic.IEnumerable RunSP(this Database self, string spName, params SqlParameter[] paras) { System.Collections.Generi... ...
分类:
其他好文 时间:
2017-06-30 14:03:40
阅读次数:
412
通用的分页查询 public IQueryable<UserInfo> GetPage<T>(int pageSize,int pageIndex,out int total, Expression<Func<UserInfo,bool>> whereLambda, Expression<Func< ...
分类:
其他好文 时间:
2017-06-29 22:18:37
阅读次数:
244
//以下参考来自 http://www.cnblogs.com/wilber2013/p/4299529.html ...
分类:
编程语言 时间:
2017-06-27 16:25:21
阅读次数:
184
C#将LINQ数据集转换为Datatable1.方法一:(测试可用)//通过一个公共类将LINQ数据集转换为datatablepublicDataTableLINQToDataTable<T>(IEnumerable<T>varlist){DataTabledtReturn=newDataTable();//columnnamesPropertyInfo[]oProps=null;if(varlist==null)retur..
园里对这两个已经有很多文章作了深入的介绍,我总结些,当成笔记用。 一.具体判断用哪个上,如果是运行在本地内存中的,用IEnumerable,枚举该对象时,会立即反应查询结果。 如果是远程数据源,比如数据库,为优化查询,减少中间环节,要把多条语句先存放到表达式数里,等执行ToList方法时才会去真正调 ...
分类:
编程语言 时间:
2017-06-15 12:45:47
阅读次数:
155