我是个.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 }
这是我已经封装好的类
是静态方法 只用调用传参就行了
如
Console.WriteLine("\n请输入需要转换大小写的字符串:");
string zi = Console.ReadLine();
string de = zi.ToUpper();
Console.WriteLine("\n转换大小写后为:{0}", de);
一键调用 混合转换 希望能给同样的萌新一些学习上的便利