表示一个对象,该对象包含可在运行时动态添加和移除的成员语法:public sealed class ExpandoObject : IDynamicMetaObjectProvider, IDictionary, ICollection>, IEnumerable>, IEnumerable, .....
分类:
其他好文 时间:
2015-04-16 10:18:48
阅读次数:
163
yield是跟return一起使用的,形式为yield return xxx,一般来说单独的return在每个方法中只能存在一个。而yield则不同的是,可以出现连续多个。如classA:IEnumerable{privateint[]array=newint[10];publicIEnumerat...
分类:
其他好文 时间:
2015-04-14 19:19:27
阅读次数:
94
http://blog.csdn.net/byondocean/article/details/6871881IEnumerable和IEnumerator两个都是接口public interface IEnumerable{ IEnumerator GetEnumerator();}public ...
分类:
编程语言 时间:
2015-04-14 19:14:50
阅读次数:
135
一、泛型入门:我们先来看一个最为常见的泛型类型List的定义(真正的定义比这个要复杂的多,我这里删掉了很多东西)[Serializable]public class List : IList, ICollection, IEnumerable{ public T this[int index]...
分类:
其他好文 时间:
2015-04-13 20:20:05
阅读次数:
126
序列就是可迭代的,是一个迭代器,也就是实现了IEnumerable接口的。 列表就是内存中的元素的集合。容易读写,通常以索引的方式访问。 用函数方法实现迭代器 private static IEnumerable Sequence(Func getNext, T startValue...
分类:
其他好文 时间:
2015-04-10 15:21:19
阅读次数:
148
如下IList接口可以使用更多的方法。比如你看一个集合是否包含相应实体,IEnumerable不行,而IList里有Contains,相应的实现了IList的可以添加,删除相应实体。而IEnumerable不行。但是这不是说IList就比IEnumerable好,就是因为IList实现的功能多,相对...
分类:
编程语言 时间:
2015-04-10 11:00:35
阅读次数:
287
我们在做项目的时候,经常需要根据表或DataTable中某些字段来归类,为此就写出以下方法,帮组需要的人。#region 对DataTable进行分组 + public void GroupDataRows(IEnumerable source, List destination, string[]...
分类:
其他好文 时间:
2015-04-09 13:30:05
阅读次数:
113
对集合排序,可能最先想到的是使用OrderBy方法。 class Program { static void Main(string[] args) { IEnumerable result = GetStudents().OrderBy(r => r.Score); foreach (var it...
分类:
编程语言 时间:
2015-04-07 09:38:58
阅读次数:
169
对于yield关键字我们首先看一下msdn的解释:如果你在语句中使用yield关键字,则意味着它在其中出现的方法、运算符或get访问器是迭代器。通过使用yield定义迭代器,可在实现自定义集合类型的IEnumerable和IEnumerator模式时无需其他显式类(保留枚举状态的类,有关示例,请参阅...
IEnumerable, ICollection, IList,每种接口只适合某些特定场景,如何区别使用呢? IEnumerable接口,只提供了一个获取迭代器的方法,这也是为什么可以使用foreach遍历实现了IEnumerable接口集合的原因。 public interface IEnumer...
分类:
编程语言 时间:
2015-04-02 07:57:12
阅读次数:
233