字符串
字符串的不可变性:当给一个变量重新赋值后,旧值并没有销毁,而是重新开辟了一块空间存储新值;程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立刻把它销毁。
*可以将字符串看作是char类型的一个只读数组;
ToCharArray()将字符串转化为char数组;
newstring(char[] chs)将char数组转化为字符串;
**字符串每次改变操作都会重开空间,过程缓慢,当重复对字符串执行同一步操作时,可以用StringBuilder类命名一个对象代替常规的string s命名方式,前者只对一个空间操作,速度快,运算完可以再将对象转为string格式。
//
StringBuilderMyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Append(" What a beautiful day.");
Console.WriteLine(MyStringBuilder);
此示例将 Hello World! What a beautifulday. 显示到控制台。//
字符串方法:
1.Length;
2.ToUpper,ToLower;将字符串转换为大小写
3.Equals(lessonTwo,StringComparison.OrdinalIgnoreCase);比较两个字符串,lessonTwo后的表示可以忽略大小写;
调用格式:lessonOne.Equals(~,~);
4.Split();分割字符串,返回字符串类型的数组;
//
String s="a bcd , , , e+f=g";
Char[] chs={' ','_','+',',','='};
String[]str=s.Split(chs,StringSplitOptions.RemoveEmptyEntries);
//结果为abcdefg
5.Str.Contains("王"); Str.Replace("王","**");
6.SubString();截取字符串,在截取的时候包含要截取的那个位置;
7.bool StartsWith(stringvalue);判断字符串是否以value开始;
bool EndsWith(stringvalue);判断字符串是否以value结束;
8.int IndexOf(stringvalue);取字符串中value第一次出现的位置,找不到返回-1;
str.IndexOf(stringvalue,int StartIndex);
str.LastIndexOf('a');最后出现的位置;
9.Trim();去掉字符串前后两头的空格;
TrimEnd();去掉结尾空格;
TrimStart();去掉开始空格;
10. String.IsNullOrEmpty();判断字符串是否为空或null
11.String.Join();将数组按指定的连接符连接,返回字符串
String[] names={"a","b","c","d"};
String str= String.Join("|",names);//a|b|c|d