建议29:区别LINQ查询中的IEnumerable<T>和IQueryable<T> LINQ查询一共提供了两类扩展方法,在System.Linq命名空间下,有两个静态类:Enumerable类,它针对继承了IEnumerable<T>接口的集合进行扩展;Queryable类,它针对继承了IQue ...
分类:
编程语言 时间:
2017-11-30 18:07:05
阅读次数:
175
此篇博文承接上一篇博文: LINQ学习系列 2.2 迭代器 一.第一次执行 废话不多说,上源码: 执行结果下图: 为什么会这样?其实原因很简单 from n in intArray select Square(n) 可以翻译为:Enumerable.Select<int,double>(intArr ...
分类:
其他好文 时间:
2017-11-29 22:43:58
阅读次数:
131
public static IEnumerable<T> Parse<T>(IEnumerable<DataRow> rows) where T : class, new() { if (rows == null || Enumerable.FirstOrDefault<DataRow>(rows) ...
分类:
其他好文 时间:
2017-11-27 18:49:55
阅读次数:
167
属性大体可以分为两类: 1. 数据属性; 2. 存取器属性;一个属性包含了1个名字和四个特性:数据属性: 值: value 可写性: weitable 可枚举性: enumerable 可配置性: configurable存取器属性 读取: get 写入: set 可枚举性: enumerable ... ...
分类:
其他好文 时间:
2017-11-14 11:18:32
阅读次数:
145
IEnumerable在C#中是一个接口。 enumerable在计算机中意为“可枚举的”,"可枚举的“包含三层含义: 通过上述三点,可以引发两点思考: 具有可枚举的特征的事物一定是个容器 第一点和第二点会想到集合类(List、Dictionary);第三点会想到枚举类型(enum),概念有些类似, ...
分类:
编程语言 时间:
2017-11-09 00:15:38
阅读次数:
146
ECMAScript将对象的属性分为两种:数据属性和访问器属性。每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以理解为:是否可枚举。然后根据具体的上下文环境的不同,我们又可以将属性分为:原型属性和实例属性。原型属 ...
分类:
编程语言 时间:
2017-10-17 15:43:00
阅读次数:
218
1、基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。 类的内部所有定义的方法,都是不可枚举的(non-enumerable)。这一点与 ES5 的行为不一致。 2、类和模块的内部,默 ...
分类:
其他好文 时间:
2017-09-30 19:44:43
阅读次数:
297
vue中最常见的属v-model这个数据双向绑定了,很好奇它是如何实现的呢?尝试着用原生的JS去实现一下。 首先大致学习了解下Object.defineProperty()这个东东吧! 以上总结了对象的defineProperty四个属性:configurable,enumerable,value, ...
分类:
其他好文 时间:
2017-09-14 10:40:59
阅读次数:
308
ES5中对象的属性可以分为“数据属性”和“访问器属性”两种。 数据属性一般用于存储数据数值,访问器属性对应的是set/get操作,不能直接存储数据值。 数据属性分为 configurable enumerable writable value 解释:configurable: 表示能否通过delet ...
分类:
Web程序 时间:
2017-09-03 14:56:50
阅读次数:
219
for-in和for-of 1. for-in循环实际是为循环”enumerable“对象而设计的,是用来循环带有字符串key的对象的。 使用for in会遍历数组所有的可枚举属性,包括原型。所以for in更适合遍历对象,不要使用for in遍历数组。 2. for-of可用于循环数组value值 ...
分类:
其他好文 时间:
2017-08-29 19:47:57
阅读次数:
300