LinQ—扩展方法

概述

        本节主要讲解扩展方法,涉及LinQ的具体知识不多。


扩展方法的描述

         .net framework为编程人员提供了很多的类,很多的方法,但是,不论.net framework在类中为我们提供了多么多的方法,有时候仍然不能满足我们的需求,例如:你想让字符串对象具有ToPascal方法,含义就是将字符串转化为Pascal格式,并返回,我们知道,.net framework提供的String类中并没有为我们提供相应的方法,此时,我们应该怎么做才可以达到我们的目的呢?有人说可以继承String类,这个不行,因为.net framework提供的类都是finnal类,最终类,不能被继承,那么,怎么样才可以解决这个问题呢?此时,就出现了扩展方法


扩展方法的目的和好处

       为现有类提供一些额外的方法,这样做的好处就是,原有类不需要重新编译生成,只需要在程序中引入一些额外的dll就可以了


扩展方法的使用

       String类添加一个ToPascal方法,实现将自己格式化为Pascal格式的字符串并返回

    //扩展方法的定义
    public static classExtraClass{//静态类,类名随意       
        public static String ToPascal(this string s) {
            stringstrName = s.Substring(0, 1).ToUpper() +s.Substring(1).ToLower();
            return strName;
        }
    }
    //扩展方法的使用
    String strName="GreenHill";
    strName.ToPascal();//返回的结果为Pascal格式的字符串
    解释
         string:返回值的类型;
         ToPascal:扩展的方法名;
         this string:扩展所有类;
         s:对象名;

         注意:在使用String类的ToPascal方法时,必须要在程序中引入ExtraClass

         上面的这种方式是没有参数的写法,那么有参数的怎么写呢?有兴趣的可以下去自己查查,相信在读了这一篇博客的基础上,再学习扩展方法的其它具体的定性时,会变得非常轻松。


扩展方法和LinQ的关系

        扩展方法是实现LinQ的基础,因为LinQ的具体实现就是通过扩展方法实现的,也就是说LinQ就是往.net framework的原有的一些类上添加了一些扩展方法,从形式来说,达到了一种通过使用不同对象的相同方法,实现一样的目的。


总结

       在实际的应用中,为.net framework中的类扩展一些方法是不常用的,最起码我现在在实际的项目中没用过,所以,对于上面扩展方法的描述的需求,我们要站在另一个高度看,也就是说,扩展方法是微软为了引入LinQ而作的工作,扩展方法的真正目的是为了LinQ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值