博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LINQ学习笔记(4) 扩展方法
阅读量:5904 次
发布时间:2019-06-19

本文共 1339 字,大约阅读时间需要 4 分钟。

  今天要总结的内容是C# 3.0的最新特性-扩展方法,它在LINQ查询中使用得也非常多,所以很有必要总结一下,以便于我们能更好地掌握LINQ。主要从以下几点来了解扩展方法。

1,什么叫扩展方法?

  故名思义,扩展方法就是在类本身所声明的方法之外增加方法。当调用的时候就像作为类的实例成员来调用一样,这就是扩展方法。

2,为什么要声明扩展方法?扩展方法有什么作用?

  在不修改类型定义的情况下,让该类型获得功能上的扩展。

3,如何声明扩展方法?

  例如:

1 class MyData  2     {
3 private double D1, D2, D3;//声明变量 4 5 public MyData(double d1, double d2, double d3)//构造函数。初始化类的对象。 6 {
7 D1 = d1;//初始化变量d1。 8 D2 = d2; 9 D3 = d3; 10 } 11 12 public double Sum()//声明方法 13 {
14 return D1 + D2 + D3; 15 } 16 } 17 18 static class ExtendMyData 19 {
20 public static double Average(this MyData md)//关键字this,方法声明为static。 21 {
22 return md.Sum() / 3; 23 } 24 } 25 26 class Program 27 {
28 static void Main(string[] args) 29 {
30 MyData md = new MyData(3,4,5);//创建类的对象。 31 32 Console.WriteLine("Sum:{0}",md.Sum());//调用实例方法 33 Console.WriteLine("Average:{0}",md.Average());//调用扩展方法 34 Console.ReadKey(); 35 } 36 } 37 //程序输出结果为:Sum:12 38 // Average:4

4,声明扩展方法注意事项?

  1> 扩展方法和扩展方法所在的类都必须声明为static。

  2> 扩展方法必须包含关键字作为它的第一个参数类型,并在后面跟着它所扩展的类的名称。

  以上就是今天总结的扩展方法的部分,今天晚上时间还比较充足,接下来要总结的是查询语法和方法语法。

转载地址:http://bmkpx.baihongyu.com/

你可能感兴趣的文章
Excel VBA连接MySql 数据库获取数据
查看>>
Developing a Service Provider using Java API(Service Provider Interface)(转)
查看>>
BAE Flask UEditor 使用七牛云
查看>>
Bootstrap系列 -- 15. 下拉选择框select
查看>>
关于WinPE安装操作系统
查看>>
LeetCode Median of Two Sorted Arrays
查看>>
oschina程序开发
查看>>
mysql创建每月执行一次的event
查看>>
ReactNative常用组件汇总
查看>>
nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
查看>>
“正在注册字体”问题解决
查看>>
windows10 更新后要输入2次密码才能进入系统
查看>>
iOS开发-OpenGL ES入门教程1
查看>>
平衡二叉树(AVL树)
查看>>
面向对象思想(第一天)
查看>>
微信小程序 js逻辑
查看>>
linux 安装 sftp
查看>>
openStack queens
查看>>
(转)EOSIO开发(四)- nodeos、keosd与cleos
查看>>
MVC5+EF6 入门完整教程八
查看>>