博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 中的拓展方法,以StringBuilder加上IndexOf方法举例
阅读量:7026 次
发布时间:2019-06-28

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

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

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

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

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

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

using System;using System.Collections.Generic;using System.Text;namespace ExtensionMethod{    public static class StringBuilderExtension    {        ///         /// 这是我自己写的StringBuilder的拓展方法        ///         /// StringBuilder字符串类型        /// 要检索的值        /// 
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源码项目:

参考:

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

你可能感兴趣的文章
socket,tcp,http三者之间的区别和原理
查看>>
【100题】第五十九题 用C++编写不能被继承的类
查看>>
轻描淡写
查看>>
mysql基本操作
查看>>
39.CSS3弹性伸缩布局【下】
查看>>
[javascript]图解+注释版 Ext.extend()
查看>>
我的前端工具集(七)div背景网格
查看>>
linux 下mongo 基础配置
查看>>
【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(转)...
查看>>
JUnit单元测试中的setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()方法小结
查看>>
java之jvm学习笔记六(实践写自己的安全管理器)
查看>>
Docker容器查看ip地址
查看>>
在PC端或移动端应用中接入商业QQ
查看>>
将python3.6软件的py文件打包成exe程序
查看>>
DataTable 排序
查看>>
大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5)
查看>>
嵌入式系统在工业控制中的应用
查看>>
docker for caffe
查看>>
使用httpclient异步调用WebAPI接口
查看>>
c++ 类的对象与指针
查看>>