我是個.net萌新,在大學是計算機應用專業 學的比較雜 出來准備走net方向 培訓了兩個月了
今天被出了一道上機題 題本來是挺簡單的 輸入一個字符 如果是大寫則轉換為小寫 如果是小寫則轉換為大寫
難點在於後來我們自發的延伸 並且發現網上也沒有針對這種情況的解決方案
所以我自己寫了一個應對這種方法了類 發上來給大家共享下 比自帶的轉化方法更無腦一鍵一點 而且可以針對於大小寫混合則字符串
如ASDFasf$%#%^645765127aAFSAasdfasd
這種情況 要把裡面的大寫轉換為小寫 並且把小寫轉換為大寫 就顯得很復雜了
雖然不是很實用 但是在網上搜了一下發現竟然有很多人在找 但是網上並沒有什麼簡單的方法
所以寫了一個轉換 能夠適應任何混合的大小寫互相轉換 並且在測試中沒有發現任何bug
雖然不知道有多少地方能用上 但是既然百度上那麼多人想要 就共享下吧
————其實重要的是想給同樣是新人的人分享一下編程思路
1 class Subna 2 { 3 private static char[] x = { 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'Z', 'X', 'C', 'V', 'B', 'N', 'M' }; 4 private static char[] o = { 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm' }; 5 6 7 8 public static string getResult(string zz) 9 { 10 11 StringBuilder de = new StringBuilder(); 12 string zi = zz; 13 for (int i = 0; i < zi.Length; i++) 14 { 15 int bol = Array.IndexOf(x, zi[i]); 16 if (bol == -1) 17 { 18 int bol2 = Array.IndexOf(o, zi[i]); 19 if (bol2 == -1) 20 { 21 de.Append(zi[i]); 22 continue; 23 } 24 else 25 { 26 for (int da = 0; da < o.Length; da++) 27 { 28 if (o[da] == zi[i]) 29 { 30 de.Append(x[da]); 31 break; 32 } 33 } 34 } 35 } 36 else 37 { 38 for (int da = 0; da < x.Length; da++) 39 { 40 if (x[da] == zi[i]) 41 { 42 de.Append(o[da]); 43 break; 44 } 45 } 46 } 47 } 48 49 return de.ToString(); 50 51 } 52 53 }View Code
這是我已經封裝好的類
是靜態方法 只用調用傳參就行了
如
Console.WriteLine("\n請輸入需要轉換大小寫的字符串:");
string zi = Console.ReadLine();
string de = zi.ToUpper();
Console.WriteLine("\n轉換大小寫後為:{0}", de);
一鍵調用 混合轉換 希望能給同樣的萌新一些學習上的便利
給新人備注:沒有使用string類型自帶的轉換方式,因而在實際過程中避免了很多bug
使用基本代碼 完成復雜功能 和拼積木一樣 使我們學習的首要目標
編程不在於用多麼高級的方法 而是把基礎的東西融會貫通達到目標 回歸實戰
之後我會用我寫的遞歸當做例子 用通俗易懂的方式分享下遞歸 (以及我不知道遞歸的時候做遞歸題寫的假遞歸)