【转】c# 字符串大小写混合转换

时间:2022-02-28 08:47:46

我是个.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);

一键调用 混合转换 希望能给同样的萌新一些学习上的便利