我是个.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);
一键调用 混合转换 希望能给同样的萌新一些学习上的便利
原文:http://www.cnblogs.com/zhangxin4477/p/6731485.html