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

时间:2023-01-06 14:56:40

我是个.net萌新,在大学是计算机应用专业 学的比较杂 出来准备走net方向  培训了两个月了

今天被出了一道上机题  题本来是挺简单的  输入一个字符 如果是大写则转换为小写  如果是小写则转换为大写

 

难点在于后来我们自发的延伸  并且发现网上也没有针对这种情况的解决方案

所以我自己写了一个应对这种方法了类  发上来给大家共享下  比自带的转化方法更无脑一键一点 而且可以针对于大小写混合则字符串

 

如ASDFasf$%#%^645765127aAFSAasdfasd

 

这种情况  要把里面的大写转换为小写 并且把小写转换为大写 就显得很复杂了

虽然不是很实用 但是在网上搜了一下发现竟然有很多人在找  但是网上并没有什么简单的方法

所以写了一个转换 能够适应任何混合的大小写互相转换 并且在测试中没有发现任何bug

虽然不知道有多少地方能用上 但是既然百度上那么多人想要  就共享下吧

 

————其实重要的是想给同样是新人的人分享一下编程思路

 

c# 字符串大小写混合转换c# 字符串大小写混合转换
 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  

使用基本代码 完成复杂功能  和拼积木一样 使我们学习的首要目标

编程不在于用多么高级的方法 而是把基础的东西融会贯通达到目标 回归实战

之后我会用我写的递归当做例子 用通俗易懂的方式分享下递归 (以及我不知道递归的时候做递归题写的假递归)