C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客。
class Program
{
double AddInt(int x, int y)
{
return x + y;
}
string AddString(string s1, string s2)
{
return s1 + s2;
}
static void Main(string[] args)
{
Program p = new Program();
// 以为前两个参数为int,他们运行的结果为double,最后一个参数与AddInt返回值一致
Func<int, int, double> funcInt = p.AddInt;
Console.WriteLine("funcInt的值为{0}", funcInt(100, 300));
Func<string, string, string> funcString = p.AddString;
Console.WriteLine("funcString的值为{0}", funcString("aaa", "bbb"));
// 匿名方法
Func<float, float, float> fucFloat = delegate(float x, float y)
{
return x + y;
};
Console.WriteLine("funcFloat的值为{0}", fucFloat(190.7F, 99999.9F));
// Lambda表达式
Func<string, string, string> funString2 = (x, y) => (x + y);
Console.WriteLine("funString2的值为{0}", funString2("ttt", "bbb"));
Console.ReadLine();
}
}
本文参考自金旭亮老师的《.NET 4.0面向对象编程漫谈》有关代理的内容
分享到:
相关推荐
第9章Lambda表达式和表达式树 第10章扩展方法 第11章查询表达式和LINQ to Objects 第12章超越集合的LINQ 第四部分C# 4:良好的交互性 第13章简化代码的微小修改 第14章静态语言中的动态绑定 第五部分C# 5:...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 =======================================...
C#3.0(C#Orcas——魔鬼)在C#2.0的基础上引入了很多语言扩展,用以支持高级别的函数式风格类库的创建和使用。这些扩展使得结构性API构造具有与其他领域(如关系数据库和XML)中查询语言同等的表达能力。这些扩展...
5.1.5 匿名方法和Lambda表达式 5.2集合 5.2.1理解集合 5.2.2创建集合类 5.2.3实现IEnumerable接口 5.3 LINQ查询 5.3.1 LINQ to Objects 5.3.2查询表达式 5.3.3延迟加载 5.3.4混合使用LINQ to Objects 5.4...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...
2.4.3 Lambda表达式介绍 42 2.5 扩展方法 47 2.5.1 创建扩展方法的示例 47 2.5.2 更多使用LINQ标准查询操作符的例子 50 2.5.3 将扩展方法引入到实例程序中 51 2.5.4 注意事项 52 2.6 匿名类型 54 ...