在vb.net中生成随机字符串

Cyc*_*one 6 vb.net random

我需要在vb.net中生成随机字符串,该字符串必须由(随机选择的)字母AZ(必须大写)和散布的随机数字组成.它还需要能够以设定的长度生成它们.

谢谢你的帮助,这让我抓狂!

Joh*_*dol 18

如果你可以将它转换为VB.NET(这是微不足道的)我会说你很好(如果你不能,使用这个或任何其他工具的价值):

/// <summary>
/// The Typing monkey generates random strings - can't be static 'cause it's a monkey.
/// </summary>
/// <remarks>
/// If you try hard enough it will eventually type some Shakespeare.
/// </remarks>
class TypingMonkey
{
   private const string legalCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

   static Random random = new Random();

   /// <summary>
   /// The Typing Monkey Generates a random string with the given length.
   /// </summary>
   /// <param name="size">Size of the string</param>
   /// <returns>Random string</returns>
   public string TypeAway(int size)
   {
       StringBuilder builder = new StringBuilder();
       char ch;

       for (int i = 0; i < size; i++)
       {
           ch = legalCharacters[random.Next(0, legalCharacters.Length)];
           builder.Append(ch);
       }

       return builder.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

那么你要做的就是:

TypingMonkey myMonkey = new TypingMonkey();
string randomStr = myMonkey.TypeAway(size);
Run Code Online (Sandbox Code Playgroud)

  • 由于您知道数据的大小,因此您也可以使用此值初始化StringBuilder.这样可以避免不必要的内存分配.虽然+1很棒的答案. (2认同)