国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#string類型總結

2019-11-17 02:24:27
字體:
來源:轉載
供稿:網友

C#string類型總結

2015-05-05 23:44 by 狼人自傳, ... 閱讀, ... 評論, 收藏, 編輯

個人筆記分享,知識點以及小練習

字符串的特性:不可變性,每對字符串做拼接或者重新賦值之類的操作,都會在內存中產生一個新的實例。

所以說,在.Net平臺下,如果你對一個字符串進行大量的拼接賦值等操作,會產生大量的垃圾。---->我們可以將字符串看做是char類型的只讀數組。 --->當我們以索引的方式去訪問某一個字符串的時候,獲得是char類型空和null有什么區別,空在內存上開空間了,null沒有字符串的常用函數1、ToCharArray():將一個字符串轉換成一個char類型的數組。2、new string(char[] chs):根據一個char類型的數組返回一個字符串。3、ToUpper():返回字符串的大寫形式.4、ToLower():返回字符串的小寫形式.5、Equals(,stringcomPRasion......):比較兩個字符串是否相等,可以忽略大小寫。(lessonOne.Equals(lessonTwo,StringComparison.OrdinalIgnoreCase))Equal和Tostring都是object下的虛方法,都可以重寫6、Split():分割字符串,返回字符串類型的數組。string[] nerstr=str.Split(new char[] { ' ', ',', '-' }, StringSplitOptions.RemoveEmptyEntries);7、Contains():判斷字符串中是否包含指定的字符串8、Replace():將老字符串替換成新字符串9、StartsWith():判斷字符串是否以指定的字符串開始10、EndsWith():判斷字符串是否以指定的字符串結束11、Trim():去掉字符串兩端的字符。但是,不能去掉字符串中間的字符。12、TrimStart():13、TrimEnd():14、Substring():截取指定的字符串,可以選擇截取的長度。15、IndexOf():取某一個字符在字符串中第一次出現的位置,如果沒有,則返回-1。16、LastIndexof():去某一個字符在字符串中最后一次出現的位置,如果沒有,則返回-1。17、靜態函數 --->string.IsNullOrEmpyt()判斷指定的字符串是否為空或者為null --->string.Join():將指定的分隔符插入數組每個元素的后面,返回一個字符串,默認最后一個元素后面沒有。18:等號和Equals的區別對于string類型而言,不管是等號還是Equals比較的都是值本身。 //Equals默認比較的是地址,但是我們在自己定義的類中如果用到Equals,都會將Equals進行重寫,使之按照我們自己的需求進行比較拼接字符串//string str = string.Empty; //StringBuilder sb = new StringBuilder(); ////00:00:00.1022297 //Stopwatch sp = new Stopwatch();

提供一組方法和屬性,可用于準確地測量運行時間。

//sp.Start(); //for (int i = 0; i < 100000; i++) //{ // //str += i; // sb.Append(i); //追加 //} //sp.Stop(); //Console.WriteLine(sp.Elapsed);

獲取當前實例測量得出的總運行時間。Elapsed

//Console.WriteLine(sb.ToString()); StringBuilder sb = new StringBuilder();舉例: #regionnew string() ToCharArray() //string str = "abcdef"; ////str[0] = 'b'; //////字符串--->char數組(可讀可寫) ////char[] chs = str.ToCharArray(); ////chs[0] = 'b'; //////將改變后的char數組再次轉換成字符串 ////str = new string(chs); //Console.WriteLine(str[0]); #endregion #regionLength屬性 //Console.WriteLine("請輸入你人生中最深刻老師的名字"); //string name = Console.ReadLine(); //Console.WriteLine("這個老師的名字有{0}個字",name.Length); #endregion #regionToUpper() ToLower() Equals() //Console.WriteLine("請輸入你喜歡的課程"); //string lessonOne = Console.ReadLine(); ////轉換成大寫 ////lessonOne = lessonOne.ToUpper(); ////轉換成小寫 ////lessonOne = lessonOne.ToLower(); //Console.WriteLine("請輸入你喜歡的課程"); //string lessonTwo = Console.ReadLine(); ////lessonTwo = lessonTwo.ToUpper(); ////lessonTwo = lessonTwo.ToLower(); //if(lesssonsonOne.Equals(leTwo,StringComparison.OrdinalIgnoreCase)) //{ // Console.WriteLine("你們喜歡的課程相同"); //} //else //{ // Console.WriteLine("你們喜歡的課程不相同"); //} #endregion #regionSplit() 字符串的分割 ////string str = "abc ,,,d, ,--,ef,,-- 0987"; //////將一個字符串中沒用的東西去掉 ////string[] strNew = str.Split(new char[] { ' ', ',', '-' }, StringSplitOptions.RemoveEmptyEntries); ////練習:從日期字符串("2008-08-08")中分析出年、月、日;2008年08月08日。 ////讓用戶輸入一個日期格式如:2008-08-08,你輸出你輸入的日期為2008年1月2日 //string date = "2008-08-08";// "2008年08月08日"; //string[] newDate =date.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); //date = newDate[0] + "年" + newDate[1] + "月" + newDate[2] + "日"; //Console.WriteLine(date); //Console.ReadKey(); #endregion #regionContains()判斷是否包含 Replace()替換 //Console.WriteLine("請輸入你的評論"); //string input = Console.ReadLine(); ////1、判斷評論中是否包含敏感詞 //if (input.Contains("老趙")) //{ // //2、進行替換 // input = input.Replace("老趙", "***"); //} //Console.WriteLine(input); //Console.ReadKey(); #endregion #regionStartsWith() EndsWith() //string str = "舉頭望明月,我叫郭德綱"; ////if (str.StartsWith("頭")) ////{ //// Console.WriteLine("是的"); ////} ////else ////{ //// Console.WriteLine("不是"); ////} //Console.WriteLine(str.EndsWith("舉頭望明月,我叫郭德綱") ? "是的" : "不是"); #endregion #regionTrim() TrimEnd() TrimStart() /*string str = "---- ---1 2---3- -- ----"; ////str = str.Trim(); 去掉字符串兩邊的空格 ////str = str.TrimStart(); 去掉字符串前邊的空格 ////str = str.TrimEnd();去掉后面的空格 str = str.Trim('-',' '); //string[] strNew = str.Split(new char[] { '-', ' ' }, StringSplitOptions.RemoveEmptyEntries); Console.Write(str); Console.ReadKey(); */ #endregion #regionSubstring() 截取字符串 string str = "今天我要是上課睡覺了,我以后就單身一輩子"; str = str.Substring(12,2); Console.WriteLine(str); Console.ReadKey(); #endregion #regionLastIndexof()找到某一個字符在字符串中最后一次出現的位置 //string path = @"c:/a/b/c/e/亞廷/d/f/蒼老師蒼老師.avi"; ////找到某一個字符在字符串中最后一次出現的位置 ////獲得 //在路徑中最后一次出現的位置 //int index = path.LastIndexOf('//'); //string fileName = path.Substring(index + 1); //Console.WriteLine(fileName); //Console.ReadKey(); #endregion #regionIndexOf() /* string str = "舉頭望明頭頭月,我叫頭郭頭德綱"; int index = str.IndexOf('a', 3); Console.WriteLine(index); Console.ReadKey();*/ #endregion //Console.WriteLine(string.IsNullOrEmpty(null) ? "yes" : "no"); /* string[] names = { "張三", "李四", "王五", "趙六", "田七" }; //張三|李四|王五|趙六|田七 string str =string.Join("|", names); Console.WriteLine(str); Console.ReadKey();*///課上練習2:接收用戶輸入的一句英文,將其中的單詞以反序輸出。 “I love you"→“I evol uoy" //string str = "Chinese food is best food"; ////獲得要翻轉的單詞 按照空格分割 //string[] strNew = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); //for (int i = 0; i < strNew.Length; i++) //{ // char[] chs = strNew[i].ToCharArray(); // for (int j = 0; j < chs.Length / 2; j++) // { // char temp = chs[j]; // chs[j] = chs[chs.Length - 1 - j]; // chs[chs.Length - 1 - j] = temp; // } // strNew[i] = new string(chs); //} ////把空格安插到字符串數組中每個元素的后面 //str = string.Join(" ", strNew); //Console.WriteLine(str); //Console.ReadKey(); //課上練習4:把csv文件中的聯系人姓名和電話顯示出來。簡單模擬csv文件,csv文件就是使用,分割數據的文本,輸出: //string[] lines = File.ReadAllLines(@"C:/Users/SpringRain/Desktop/電話.txt", Encoding.Default); //for (int i = 0; i < lines.Length; i++) //{ // //將雙引號替換成"" // lines[i] = lines[i].Replace("/"", ""); // //將逗號和分號去掉 // string[] linesNew = lines[i].Split(new char[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries); // Console.WriteLine("姓名:" + linesNew[0] + linesNew[1] + " 電話:" + linesNew[2]); //}/* string str = "一日,天氣炎熱。兩香蕉在路上散步,一香蕉抱怨道:“好熱阿,好熱阿。”遂脫衣。另一香蕉遂倒"; int index = str.IndexOf("香蕉"); Console.WriteLine("香蕉第一個出現的位置{0}",index); int count=1; while(index!=-1) { count++; index = str.IndexOf("香蕉", index + 1); if(index==-1) { break; } Console.WriteLine("第{0}次出現的香蕉的位置是{1}",count,index); } Console.ReadKey();*/等號和Equals的區別Person p1 = new Person() { Name = "劉德華", Age = 18 }; Person p2 = new Person() { Name = "劉德華", Age = 18 };//if (p1.Equals(p2)) //這是不相等的Equals默認比較的是地址, //{ // Console.WriteLine("相等"); //} //else //{ // Console.WriteLine("不相等"); //}class Person { public string Name { get; set; } public int Age { get; set; } }如果讓他們比較值那就:::重寫public override bool Equals(object obj) { Person person = obj as Person; if (this.Name == person.Name && this.Age == person.Age) { return true; } else { return false; } }StringBuilder sb = new StringBuilder(); //sb.Append("123"); //sb.Append("張三");Console.Writeline(sb);顯示123張三Person p1 = new Person() { Name = "劉德華", Age = 18 }; class Person { public string Name { get; set; } public int Age { get; set; } }Console.WriteLine(p1.ToString());//這個對象所在的類的命名空間


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉中市| 朔州市| 湄潭县| 贡嘎县| 罗源县| 马边| 邳州市| 无为县| 禹城市| 平度市| 龙泉市| 丹棱县| 宣威市| 晋城| 濮阳市| 民县| 鄂尔多斯市| 临海市| 满城县| 从江县| 安丘市| 遂溪县| 澎湖县| 邵阳县| 股票| 博野县| 青冈县| 孟津县| 临武县| 洛宁县| 大厂| 绥江县| 长泰县| 大庆市| 定边县| 高邮市| 治多县| 沙雅县| 综艺| 轮台县| 留坝县|