[C#學(xué)習(xí)筆記8]string詳解、null問題解決、stringBuilder高效處理
注意:下標(biāo)從0起始?
示例1:IndexOf方法的使用,字符的位置
????????????string email = "xiaoqiang@qq.com";
? ? ? ? ? ? int position = email.IndexOf("@");//9
? ? ? ? ? ? int position1 = email.IndexOf("qq.com");//10
? ? ? ? ? ? int position2 = email.IndexOf("qq.com1");//-1
? ? ? ? ? ? int position3 = email.LastIndexOf("q");//11
? ? ? ? ? ? int lenght = email.Length;//獲取字符串的長度??
? ? ? ? ? ? Console.WriteLine("@所在位置索引:" + position);
示例2:Substring方法的使用,子字符串
? ? ? ? ? ?string email = "xiaoqiang@qq.com";
? ? ? ? ? ? string userName = email.Substring(0, 9);//xiaoqiang? ? 起始位置0取9個(gè)字符
? ? ? ? ? ? string userName1 = email.Substring(0, email.IndexOf("@"));//取@字符所在位置之前
? ? ? ? ? ? string userName2 = email.Substring(9);//@qq.com? ? ? 從第9個(gè)字節(jié)
? ? ? ? ? ? Console.WriteLine("郵箱用戶名:" + userName);
示例3:比較字符串是否相等
? ? ? ? ? ? string name1 = "xiaowang";
? ? ? ? ? ? string name2 = "xiaowang";
? ? ? ? ? ? string name3 = "wang";
? ? ? ? ? ? Console.WriteLine(name1 == name2);//True
? ? ? ? ? ? Console.WriteLine(name1.Equals(name2));//True
? ? ? ? ? ? Console.WriteLine(name2 == name3);//False
? ? ? ? ? ? Console.WriteLine(name2.Equals(name3));//False
示例4:獲取字符串的長度
? ? ? ? ? ? string userPwd = "88996677ABE";
? ? ? ? ? ? int pwdLength = userPwd.Length;//
? ? ? ? ? ? Console.WriteLine("密碼長度:{0}", pwdLength);
示例5:字符串格式化
? ? ? ? ? ? string name = "小王";
? ? ? ? ? ? int age = 20;
? ? ? ? ? ? Console.WriteLine("我的姓名:{0}? 年齡:{1}", name, age);//我的姓名:小王? 年齡:20
? ? ? ? ? ? Console.WriteLine($"我的姓名:{name}? 年齡:{age}");//我的姓名:小王? 年齡:20
? ? ? ? ? ? string newString = string.Format("我的姓名:{0}? 年齡:{1}", name, age);//我的姓名:小王? 年齡:20
? ? ? ? ? ? string newString1 = $"我的姓名:{name}? 年齡:{age}";//我的姓名:小王? 年齡:20
? ? ? ? ? ? Console.WriteLine(newString);

字符串空值:string name1 = string.Empty;
示例7:字符串其他方法
? ? ? ? ? ? Console.WriteLine(" xiao ".Trim() == "xiao");//去掉前后多余空格
? ? ? ? ? ? Console.WriteLine("xiao".ToUpper());//轉(zhuǎn)換成大寫? ??ToLower轉(zhuǎn)小寫
? ? ? ? ? ? string url = "http://www.xiletu.com/DetailPer.aspx?JianLiId=86";
? ? ? ? ? ? Console.WriteLine("最后一個(gè)點(diǎn)的位置:{0}", url.LastIndexOf("."));//找到最后一個(gè)匹配項(xiàng)位置
示例8:字符串的高效處理
? ? ? ? ? ? string strText = "我正在學(xué)習(xí)";
? ? ? ? ? ? strText += ".NET平臺";//浪費(fèi)內(nèi)存空間
? ? ? ? ? ? strText += "與C#開發(fā)語言";
? ? ? ? ? ? Console.WriteLine(strText);

? ? ? ? ? ? StringBuilder builder = new StringBuilder("我正在學(xué)習(xí)");
? ? ? ? ? ? builder.Append(".NET平臺");
? ? ? ? ? ? builder.Append("與C#開發(fā)語言");
? ? ? ? ? ? string info = builder.ToString();
? ? ? ? ? ? Console.WriteLine(info);
