在C#开发中可以使用字符数组来表示字符串,但是更常用的是用string来表示字符串。
String 属性
- Chars:在当前string对象中获取指定Char的位置
- Length:获取字符串长度
String 常见方法
C#中内置了丰富的字符相关的方法,下面罗列了我在开发中经常使用到的:(其他详见菜鸟教程)
方法名 | 函数功能 | 函数返回值 |
---|---|---|
Equals(string a,string b) | 是否值相等 | bool |
Format( string format, Object arg0 ) | 格式化字符串 | string |
IsNullOrEmpty( string value ) | 判断知否为null | bool |
Replace( char oldChar, char newChar ) | 字符替换 | string |
Split( params char[] separator ) | 字符串分割(可以以多个字符分割) | string[] |
在语言国际话中我们常常会用格式化字符串来获取本地文本信息,在开发过程中尽量不要在组件或者在代码中写死显示文本,采用读取配置的形势,方便后期修改和维护。
在读取配置表时,有时候我们会用string.Split方法来分割字符串,来对应config里的数据,但现在一般利用工具自动导出(还没有来得及研究源码)。
- String.IndexOf():查询指定字符在字符串中的起始索引位置,如果没有查到返回值为-1;
- String.LastIndexOf():查询最后一个匹配项的索引位置,如果没有查到返回值为-1;
- String.Substring(int a,int b):截取字符串从索引a开始到索引b结束的字符串内容
- String.Substring(int a):截取字符串从索引a开始(包含)以及字符串之后的所有内容’
- String.ToLower() :把字符串转换成小写形式
- String.ToUpper():把字符串转换成大写形式
- String.Trim():删除首尾的空白
- String.Insert():指定索引处插入字符串
- Compare(): 比较两字符串是否相等
StringBuilder(位于System.Text命名空间下)
当我们需要对字符串频繁的进行增删等操作时,使用StringBuilder效率更高。string是不可变的,当操作之后内存中实际上都是重新开辟内存空间存储,然后释放掉了原来的空间。使用StringBuilder则是直接在原来的内存空间上操作,只有当内存空间不足的情况下才会自动开辟新的空间
- 利用构造函数创建:
StringBuilder sb = new StringBuilder("Hello World");//直接复制初始字符串长度
StringBuilder sb_1 = new StringBuilder(20);//初始化空的,设置长度为20
StringBuilder sb_2 = new StringBuilder("Init",80);//初始化字符串,设置长度为80
- Append:给当前字符串追加一个字符串
- Insert:追加字符串
- Remove:删除字符串
- Replace:字符串替换
- ToString:把当前StringBuilder中存储的字符串提取成一个不可变的字符串