扩展其实真的很简单 msdn是这样规定扩展方法的:“扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。” 扩展方法的关键不在于定义所在的class的名字,关键在于扩展方法的第一个参数,以及所有class和扩...
分类:
其他好文 时间:
2015-04-27 12:38:14
阅读次数:
127
原文链接原文非常详细自己写了几句代码,可以用作参考 Action action = delegate() { button1.Text = "aaab"; }; Func mfa = mb => mb * 2; Func mfb = ...
分类:
其他好文 时间:
2015-04-26 16:31:55
阅读次数:
130
#include
#include
using namespace std;
template
class tree
{
private:
struct Node
{
T data;
Node* L;
Node* R;
Node(T d) :data(d), L(NULL), R(NULL){}
};
Node* root;
int Count;
publ...
分类:
其他好文 时间:
2015-04-26 09:19:05
阅读次数:
122
为一个类增加方法有3中方式:1,修改原类2,继承后再新增类3,在另一个类中使用该类的公有成员编写一个方法然而第三种方法不优雅,要实例化类,再用对象来调用方法。扩展方法就能让被修改类的对象直接调用这个新方法。例子:步骤:1,编写静态类,这个静态类应该与被扩展的类在同一个命名空间,即使没有,也有引用被扩...
分类:
其他好文 时间:
2015-04-26 01:11:49
阅读次数:
223
今天我们通一个简单的示例代码的演进过程,来学习LINQ必备条件:隐式类型局部变量;对象集合初始化器;委托;匿名函数;lambda表达式;扩展方法;匿名类型。废话不多说,我们直接进入主题。一、实现要求 1、获取全部女生; 2、对满足要求的结果按年龄排序; 3、获取结果的前两名; ...
分类:
其他好文 时间:
2015-04-25 01:36:05
阅读次数:
140
在C# 2.0中,通过方法组转换和匿名方法,使委托的实现得到了极大的简化。但是,匿名方法仍然有些臃肿,而且当代码中充满了匿名方法的时候,可读性可能就会受到影响。C# 3.0中出现的Lambda表达式在不牺牲可读性的前提下,进一步简化了委托。LINQ的基本功能就是创建操作管道,以及这些操作需要的任何状...
我们经常通过泛型构造函数创建泛型实例,也常调用实例的扩展方法。以下的代码在项目中随处可见: static void Main(string[] args) { var strs = new List {"hello","world"}; var result = strs.Where(s => s....
分类:
其他好文 时间:
2015-04-24 11:59:59
阅读次数:
95
Lambda表达式的实质就是一个匿名函数。C#3.0引入了Lambda表达式,Java8也不甘示弱。Java8发布很久了,今天安装了JDK体验了Java8中的Lambda表达式。首先看一个不适用Lambda表达式的例子。
比如我们要对一组字符串进行排序。public class Hello {
public static void main(String[] args) {...
分类:
编程语言 时间:
2015-04-23 23:32:25
阅读次数:
171
附件:System.Linq.dll.7z此为从System.Core.dll中剥离的Linq,含有System.Linq.Enumerable类所有扩展方法,可以在客户只安装了.Net 2.0的环境中使用。
分类:
Web程序 时间:
2015-04-23 23:20:15
阅读次数:
163
我们一般获取某个类型或对象的属性信息均采用以下几种方法:一、通过类型来获取属性信息var p= typeof(People).GetProperty("Age");//获取指定属性var ps = typeof(People).GetProperties();//获取类型的所有属性二、通过实例来获取...
分类:
其他好文 时间:
2015-04-23 23:14:07
阅读次数:
169