IEnumerable rectlist3 = rectlist.Select(rect =>newRect(rect.X + 2000, rect.Y, rect.rect.Width, rect.rect.Height));
分类:
其他好文 时间:
2014-11-09 06:12:19
阅读次数:
329
总而言之:就是在表达式中没有花括号。IEnumerable rectlist3 = rectlist.Select(rect =>newRect(rect.X + 2, rect.Y, rect.rect.Width, rect.rect.Height));因此=>接翻译成:Func(Rect re...
分类:
其他好文 时间:
2014-11-09 00:52:23
阅读次数:
349
IEnumerable这个接口非常常见,它是最基础的泛型集合接口,表示可迭代的项的序列。但是奇怪的是为什么泛型参数要带一个“out”?经过一番资料查阅后,发现此“out”和C#中的“out”类型参数的“out”并非一个意思。IEnumerable中的out表示这个接口支持“协变性”。何谓“协变性”?...
分类:
编程语言 时间:
2014-11-08 19:33:59
阅读次数:
265
IEnumerable接口公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代。也就是说:实现了此接口的object,就可以直接使用foreach遍历此object;IQueryable接口它继承IEnumerable接口,而因为.net版本加入Linq和IQueryable后,使得IEnumer...
分类:
编程语言 时间:
2014-11-07 18:26:28
阅读次数:
193
//封装的方法//读取文件的值,放入集合中 public static IEnumerable ReadLines(string fileName) { using (TextReader reader=File.OpenText(fileName)) { ...
C#中yield关键字的使用个人总结:1.首先,yield必须与return或者break组合在一起才能使用。2.其次,必须在循环体中使用。3.必须在迭代器块代码中使用。在foreach语句中,in 后面跟随的对象,必须是IEnumerable“对象”(注:事实上,在C#里,接口是没有实例化的对象。...
public class XList : IEnumerable, IEnumerator { #region List 简单实现 /// /// 存储数据 数组 /// private T[] _items; ...
分类:
其他好文 时间:
2014-11-04 19:02:00
阅读次数:
101
咋一看到IEnumerable这个接口,我们可能会觉得很神奇,在一般的编程时,基本上我们是想不到去用它的,可是,俗话说得好,存在便是道理,那么,它对我们来说,能够带来哪些奇妙的事情呢?要想弄懂它,我们还是看看其定义吧!在MSDN上,是这么说的,它是一个公开枚举数,该枚举数支持在非泛型集合上进行简单的...
分类:
编程语言 时间:
2014-11-04 17:07:16
阅读次数:
212
1、Linq查询操作包含以下三个不同的、独立的动作:获取数据源创建查询执行查询2、Linq查询的执行分为两种:※延迟执行创建查询时,查询变量本身不执行查询,不包含任何数据,也不会采取其他任何形式的动作。它只不过是一个查询占位符,是一个IEnumerable对象,当枚举此对象的元素时,查询才得以执行。...
分类:
其他好文 时间:
2014-11-03 16:17:05
阅读次数:
165
使用yield return 语句可一次返回一个元素。 迭代器的声明必须满足以下要求:返回类型必须为IEnumerable、IEnumerable、IEnumerator或IEnumerator。 返回IEnumerable或IEnumerator的迭代器的yield类型为object。如果迭代器返...
分类:
其他好文 时间:
2014-10-28 17:21:52
阅读次数:
187