C#基础string和StringBuilder
C#基础
string
和
StringBuilder
的区别:
tring
不可变,
StringBuilder
是可变的
当
StringBuilder
字符大小达到限制就会去申请新的内存区域,大小是原来的2倍
1、利用构造函数创造StringBuilder
System.Text.StringBuilder sb = new System.Text.StringBuilder("HelloWord");
2、初始化一个空的StringBuilder,大小为20
StringBuilder sb = new StringBuilder(20);
3、初始化了一个对象,初始化的对象是HelloWord,这个对象有20字符大小
StringBuilder sb =new StringBuilder("HelloWord",20);
StringBuilder
追加字符串
4、当我们需要对一个字符串进行频繁的删除和添加,使用StringBuilder的效率会高于string
sb.Append("HaoShuai");
sb.Insert(0, "http://");
当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即把它销毁
2、我们可以将字符串看做是char类型的一个只读数组
ToCharArray();
将字符串转换成Char数组
new string(char[] chs)
:能够将char数组转换成字符串
字符串提供的各种方法
1、
Length
获取字符串的长度个数。
2、
ToUpper();
将字符串转换成大写形式
3、
ToLower();
将字符串转换成小写形式
4、
Equals(比较的字符串,StringComparison。OrdinalIgnoreCase);
比较两个字符串,忽略大小写
5、
Split();
分割字符串,返回字符串数组
CompareTo
: 比较字符串 返回值int -1,0,1
//CompareTo:字符串比较
string s = "jiangxinbin";
//当两个字符串相等的时候,返回0 如果当比较 j 时,就在字母表靠前返回1,靠后返回-1
int res = s.CompareTo("jiangxinbin");
Replace
:把指定字符替换指定自定义字符 不影响原字符 字符换字符 字符串换字符串
string newSTr= s.Replace('.', '-');
string newSTr= s.Replace(“.”,“----”);
Split:
在出现给定字符的地方,把字符串拆分成一个字符串数组
string[] strArray = s.Split('.');
foreach (var s1 in strArray)
Console.WriteLine(s1);
Substring
: 截取指定字符串位置后面的长度的字符串
string str = s.Substring(6);
ToLower :
把字符串转换成小写形式
ToUpper:
把字符串转换成大写形式
Trim:
删除收尾的空白
Concat:
合并字符串
CopyTo:
把字符串中指定的字符复制到一个数组中
Format:
格式化字符串
indexOf
取得字符串第一次出现某个给定字符串或者字符的位置
ndexOfAny
insert:
把一个字符串实例插入到另一个字符串实例的制定索引处
Join:
合并字符串数组,创建一个新的字符串
string
是System.String
的别名
// string
和StringBuilder
的区别:string
不可变,StringBuilder
是可变的
// 当StringBuilder
字符大小达到限制就会去申请新的内存区域,大小是原来的2倍
// 1、利用构造函数创造StringBuilder
//System.Text.StringBuilder sb = new System.Text.StringBuilder("JiangXinBIn");
// 2、初始化一个空的StringBuilder
,大小为20
//StringBuilder sb = new StringBuilder(20);
// 3、初始化了一个对象,初始化的对象是JiangXinBin,这个对象有20字符大小
StringBuilder sb =new StringBuilder("JaingXinBin",20);
StringBuilder:
Append()
方法,给当前字符串追加字符
insert()
追加特定格式的字符串
Remove()
从当前字符串中删除字符
Replace()
在当前字符串中,用某个字符或者字符串全部替换另一个字符或字符串
ToSting()
吧当前的StringBuilder
中存储的字符串,提取成一个不可变得字符串