帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

C#字符串自增自减算法详解

C#实现字符串自增和自减运算,供大家参考,具体内容如下

1.数字从 0-9 变化;

2.字母从 A-Z、a-z 变化;

3.其它字符跳过;

4.以上变化依据其Ascii码值;

?

/// <summary>

  /// 字符串运算

  /// </summary>

  public class StringOperation

  {

 

 

   /// <summary>

   /// 通过ASCII码值,对字符串自增1

   /// </summary>

   /// <param name="pStr">输入字符串</param>

   /// <returns></returns>

   public static string StringIncreaseOne( string pStr)

   {

    var vRetStr = pStr;

    if (0 == pStr.Length)

    {

     vRetStr = "1" ;

    }

    else

    {

     // 将最后一个字符与之前的字符串分开

     string vOtherStr = pStr.Substring(0, pStr.Length – 1);

     int vIntChar = ( int )pStr[pStr.Length – 1]; //转ASCII码值

     if (48 <= vIntChar && vIntChar <= 57) //是数字(0 – 9)

     {

      vIntChar++; //自增1

      if (vIntChar == 58) // 进一位

      {

       vIntChar = 48;

       vOtherStr = StringIncreaseOne(vOtherStr);

      }

     }

     else if (65 <= vIntChar && vIntChar <= 90) //是字母(A – Z)

     {

      vIntChar++; //自增1

      if (vIntChar == 91)

      {

       vIntChar = 65;

       vOtherStr = StringIncreaseOne(vOtherStr);

      }

     }

     else if (97 <= vIntChar && vIntChar <= 122) //是字母(a – z)

     {

      vIntChar++; //自增1

      if (vIntChar == 123)

      {

       vIntChar = 97;

       vOtherStr = StringIncreaseOne(vOtherStr);

      }

     }

     else // 其它字符 -> 跳过

     {

      vOtherStr = StringIncreaseOne(vOtherStr);

     }

     vRetStr = vOtherStr + ( char )vIntChar;

    }

    return vRetStr;

   }

 

   /// <summary>

   /// 通过ASCII码值,对字符串自减1

   /// </summary>

   /// <param name="pStr">输入字符串</param>

   /// <returns></returns>

   public static string StringReducingOne( string pStr)

   {

    var vRetStr = pStr;

    if (0 == pStr.Length)

    {

     vRetStr = "9" ;

    }

    else

    {

     string vOtherStr = pStr.Substring(0, pStr.Length – 1);

     int vIntChar = ( int )pStr[pStr.Length – 1]; //转ASCII码值

     if (48 <= vIntChar && vIntChar <= 57) //是数字(0 – 9)

     {

      vIntChar–;

      if (vIntChar == 47)

      {

       vIntChar = 57;

       vOtherStr = StringReducingOne(vOtherStr);

      }

     }

     else if (65 <= vIntChar && vIntChar <= 90) //是数字(A – Z)

     {

      vIntChar–;

      if (vIntChar == 64)

      {

       vIntChar = 90;

       vOtherStr = StringReducingOne(vOtherStr);

      }

     }

     else if (97 <= vIntChar && vIntChar <= 122) //是数字(a – z)

     {

      vIntChar–;

      if (vIntChar == 96)

      {

       vIntChar = 122;

       vOtherStr = StringReducingOne(vOtherStr);

      }

     }

     else // 其它字符 -> 跳过

     {

      vOtherStr = StringReducingOne(vOtherStr);

     }

     vRetStr = vOtherStr + ( char )vIntChar;

    }

    return vRetStr;

   }

 

   /// <summary>

   /// 通过ASCII码值,对字符串自增

   /// </summary>

   /// <param name="pStr">输入字符串</param>

   /// <param name="pCount">自增个数</param>

   /// <returns></returns>

   public static string StringIncrease( string pStr, int pCount)

   {

    string vRetStr = pStr;

    for ( int i = 0; i < pCount; i++)

    {

     vRetStr = StringIncreaseOne(vRetStr);

    }

    return vRetStr;

   }

 

   /// <summary>

   /// 通过ASCII码值,对字符串自减

   /// </summary>

   /// <param name="pStr">输入字符串</param>

   /// <param name="pCount">自减个数</param>

   /// <returns></returns>

   public static string StringReducing( string pStr, int pCount)

   {

    string vRetStr = pStr;

    for ( int i = 0; i < pCount; i++)

    {

     vRetStr = StringReducingOne(vRetStr);

    }  

    return vRetStr;

   }

  

 

 

  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/CUIT-DX037/p/6770535.html

dy(“nrwz”);

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《C#字符串自增自减算法详解》
文章链接:https://www.admin99.cn/7437
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册