1.添加元素 (1)List. Add(T item) 添加一个元素,E.g.: mList.Add("John"); (2)List. AddRange(IEnumerable<T>collection) 添加一组元素, E.g.: string[] temArr = { "Ha","Hunter ...
LINQ学习笔记(一) 1、LINQ简介 语言集成查询 (LINQ) 将数据库查询集成到代码中,支持SQL数据库、XML、ADO.NET、.NET以及支持 IEnumerable 或泛型 IEnumerable<T> 接口的任何对象集合数据源的数据访问,避免了以前使用数据库还需学习不同的数据库查询语 ...
分类:
其他好文 时间:
2017-08-10 19:50:09
阅读次数:
128
问题描述:在IEnumerable使用时显示警告 分析:如果对IEnumerable多次读取操作,会有因数据源改变导致前后两次枚举项不固定的风险,最突出例子是读取数据库的时候,第二次foreach时恰好数据源发生了改变,那么读取出来的数据和第一次就不一致了。 查看测试代码 几乎所有返回类型为 IEn ...
分类:
编程语言 时间:
2017-08-06 21:52:08
阅读次数:
218
IEnumerable 只有一个方法:IEnumerator GetEnumerator(). INumerable 是集合应该实现的一个接口,这样,就能用 foreach 来遍历这个集合。 IEnumerator 有Current属性,MoveNext(), Reset()两个方法。 当 fore ...
分类:
编程语言 时间:
2017-08-03 10:01:29
阅读次数:
153
ArrayList类 使用大小可按须要动态添加的数组实现IList接口 命名空间:System.Collections 程序集:mscorlib 语法: public class ArrayList:IList, ICollection, IEnumerable, ICloneable 1.Arra ...
一个存储和获取 object 类型对象引用的集合,可以使用 foreach 进行遍历的集合。 namespace IEnumerableDemo{ /// <summary> /// 构建一个IEnumerable对象,遍历其中的元素 /// </summary> class Program { s ...
分类:
编程语言 时间:
2017-08-01 10:16:23
阅读次数:
135
在介绍tolist()的时候我先个大家介绍一下linq的延迟加载: 许多扩展方法(包括Where() )的查询结果是创建一个迭代器通过移动列表来执行查询。 因此,此时的electronicProducts不是List<Product>,只是IEnumerable<Product>,它会在您使用这个列 ...
适用范围 协变逆变在接口泛型和委托泛型中而言 协变 把子类赋值给父类。OUT只能修饰输出参数。 IEnumerable<Para> lp = new List<Chid>(); IMyCustomList<Para> c = new MyCustomList<Chid>(); 逆变 把父类赋值给子类 ...
分类:
其他好文 时间:
2017-07-27 22:28:51
阅读次数:
167
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 ...