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


    我是个.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(" 请输入需要转换大小写的字符串:");
    string zi = Console.ReadLine();
    string de = zi.ToUpper();
    Console.WriteLine(" 转换大小写后为:{0}", de);

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

  • 相关阅读:
    LED事件
    CSR8670按钮事件
    编译提示:warning: ISO C89 forbids mixed declarations and code
    C#使用Smtp,通过qqmail发送邮件
    编写VS的Snippet
    WPF的Clipboard.SetText()有问题
    HttpListenerRequest.ContentEncoding
    jQuery的Deferred对象教程
    visual studio如何修改c++项目的.net framework框架版本
    如何让Sqlite支持Entity Framework Code-First
  • 原文地址:https://www.cnblogs.com/zhangxin4477/p/6731485.html
Copyright © 2020-2023  润新知