個人筆記分享,知識點以及小練習
提供一組方法和屬性,可用於准確地測量運行時間。
//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(); 舉例: #region new 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 #region Length屬性 //Console.WriteLine("請輸入你人生中最深刻老師的名字"); //string name = Console.ReadLine(); //Console.WriteLine("這個老師的名字有{0}個字",name.Length); #endregion #region ToUpper() 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 #region Split() 字符串的分割 ////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 #region Contains()判斷是否包含 Replace()替換 //Console.WriteLine("請輸入你的評論"); //string input = Console.ReadLine(); ////1、判斷評論中是否包含敏感詞 //if (input.Contains("老趙")) //{ // //2、進行替換 // input = input.Replace("老趙", "***"); //} //Console.WriteLine(input); //Console.ReadKey(); #endregion #region StartsWith() EndsWith() //string str = "舉頭望明月,我叫郭德綱"; ////if (str.StartsWith("頭")) ////{ //// Console.WriteLine("是的"); ////} ////else ////{ //// Console.WriteLine("不是"); ////} //Console.WriteLine(str.EndsWith("舉頭望明月,我叫郭德綱") ? "是的" : "不是"); #endregion #region Trim() 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 #region Substring() 截取字符串 string str = "今天我要是上課睡覺了,我以後就單身一輩子"; str = str.Substring(12,2); Console.WriteLine(str); Console.ReadKey(); #endregion #region LastIndexof()找到某一個字符在字符串中最後一次出現的位置 //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 #region IndexOf() /* 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());//這個對象所在的類的命名空間