C# 中的拓展方法,以StringBuilder加上IndexOf方法举例

本文介绍了如何在.NET 3.5以上版本中为StringBuilder类添加自定义拓展方法,以实现IndexOf功能,提供了完整的示例代码及源码下载。

大家都知道StringBuilder是处理字符串的首选,我不太明白为什么StringBuilder提供的方法竟然比string类要少,挺奇怪。

废话不多说,直接图文跟着走吧。

上图先(我写好的拓展方法):

默认StringBuilder是没有IndexOf方法的,这里IndexOf方法是我自己拓展上去的。

如何来实现这个拓展呢,代码如下:

using System;
using System.Collections.Generic;
using System.Text;

namespace ExtensionMethod
{
    public static class StringBuilderExtension
    {
        /// <summary>
        /// 这是我自己写的StringBuilder的拓展方法
        /// </summary>
        /// <param name="sb">StringBuilder字符串类型</param>
        /// <param name="value">要检索的值</param>
        /// <returns></returns>
        public static int IndexOf(this StringBuilder sb, char value)
        {
            for (int i = 0; i < sb.Length; i++)
            {
                if (sb[i] == value)
                    return i;
            }
            return -1;
        }
    }
}

 

注意看方法结构里面的第一个参数,加了个this,这样就表示为StringBuilder的拓展方法了。

另外要注意的地方:拓展方法是在.NET 3.5以上版本才支持的,需要组件System.Core

如果你的项目版本已经调整至3.5以上,无需引入这个System.Core组件,项目会默认带上它的。

 

附上Demo源码项目:http://files.cnblogs.com/andrew-blog/ExtensionMethod.rar

参考:http://www.wxzzz.com/?id=99

转载于:https://www.cnblogs.com/andrew-blog/archive/2012/05/30/StringBuilder_Extension.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值