好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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://HdhCmsTestcnblogs测试数据/CUIT-DX037/p/6770535.html

dy("nrwz");

查看更多关于C#字符串自增自减算法详解的详细内容...

  阅读:45次