业务场景是这样:项目中有查询字典表返回的是ienumerable,绑定到前台dropdownlist。需要在selectlist第一项加上“==请选择==”。 网上搜了,大概有7种方法: ...
分类:
Web程序 时间:
2016-09-27 11:34:37
阅读次数:
201
扩展方法貌似平时很少用,平时基本都是用静态方法,其实静态方法也挺方便的。 上面所有的都只是扩展方法的附加用处,扩展方法真正的威力是为Linq服务的(主要体现于IEnumerable和IQueryable)。下面简单列举个例子: 例: 总结静态方法的定义规则:静态类里面命名静态方法,方法(扩展方法)第 ...
分类:
其他好文 时间:
2016-09-24 12:08:25
阅读次数:
134
IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代。也就是说:实现了此接口的object,就可以直接使用foreach遍历此object; IQueryable 接口 它继承 IEnumerable 接口,而因为.net版本加入Linq和IQueryable后,使得I ...
分类:
编程语言 时间:
2016-09-23 12:36:27
阅读次数:
185
在C# 1.0中,自己写代码实现IEnumerator 摘要:1 想要可以被迭代,就要实现IEnumerable,或者IEnumerable<T>,并且重写GetEnumerator();方法,得到一个迭代器 2 在C#1.0中迭代器要自己写,通过实现IEnumerator,或者IEnumerato ...
分类:
其他好文 时间:
2016-09-22 23:39:20
阅读次数:
157
1、首先看一个简单的例子 大家都知道要实现foreach的必须要实现IEnumerable和IEnumerator的接口,只有实现了它们,才能实现遍历,所以要讲foreach的来历,必须要把那两个接口给搞清楚点! 这边也想说明一点的是:如果对这两个接口有了一定的了解后,只要实现那个GetEnumer ...
分类:
编程语言 时间:
2016-09-21 10:22:31
阅读次数:
168
LINQ中的where(),OderByDescending().Select()并不是IEnumerable<T>的方法,却能使用这些方法,查阅了资料发现是用到了C#的扩展方法。 举个小例子: 定义一个静态类StringExtension和静态方法Foo,关键字this. 这样引用该类的命名空间之 ...
分类:
其他好文 时间:
2016-09-20 01:37:50
阅读次数:
176
LINQ 查询 扩展方法 LINQ为IEnumerable<T>接口提供各种扩展方法,以便用户实现了该接口的任意集合上使用LINQ查询。扩展方法在静态类中声明,定义一个静态方法,第一参数定义扩展的类型。 扩展方法可以将方法写入最初没有提供该方法的类中,可以把方法添加到实现某个特定接口的任何类中,这样 ...
概 栈(Stack)代表了一个只有一个出口的后进先出的对象集合。在列表中添加一项,称为推入元素,从列表中移除一项时,称为弹出元素。 Stack<T> 类 public class Stack<T> : IEnumerable<T>, ICollection, IEnumerable 属性 Count ...
一、填空题 1、面向对象的语言具有(继承性)、(封装性)、(多态性)。 2、能用foreach遍历访问的对象需要实现(IEnumerable )接口或声明(GetEnumerator())方法的类型。 3、在Asp.net中所有的自定义用户控件都必须继承自(Control)。 4、在.Net中所有可 ...