本文實例展示了C#自定義函數NetxtString實現生成隨機字符串的方法,在進行C#項目開發中非常實用!分享給大家供大家參考。
一、生成隨機字符串
關鍵代碼如下:
/// <summary>/// 生成隨機字符串/// </summary>/// <param name="random">Random</param>/// <param name="size">字符串長度</param>/// <param name="lowerCase">字符串是小寫</param>/// <returns>隨機字符串</returns>public static string NetxtString(this Random random, int size, bool lowerCase){ StringBuilder _builder = new StringBuilder(size); int _startChar = lowerCase ? 97 : 65;//65 = A / 97 = a for (int i = 0; i < size; i++) _builder.Append((char)(26 * random.NextDouble() + _startChar)); return _builder.ToString();}
測試代碼如下:
static void Main(string[] args){ try { Random _random = new Random(); for (int i = 0; i < 10; i++) { Console.WriteLine(_random.NetxtString(4, false)); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.ReadLine(); }}
測試結果如下圖所示:
二、根據指定字符生成隨機字符串
關鍵代碼如下:
/// <summary>/// 0~9 A~Z字符串/// </summary>public static string RandomString_09AZ = "0123456789ABCDEFGHIJKMLNOPQRSTUVWXYZ";/// <summary>/// 依據指定字符串來生成隨機字符串/// </summary>/// <param name="random">Random</param>/// <param name="randomString">指定字符串</param>/// <param name="size">字符串長度</param>/// <param name="lowerCase">字符串是小寫</param>/// <returns>隨機字符串</returns>public static string NetxtString(this Random random, string randomString, int size, bool lowerCase){ string _nextString = string.Empty; if (random != null && !string.IsNullOrEmpty(randomString)) { StringBuilder _builder = new StringBuilder(size); int _maxCount = randomString.Length - 1; for (int i = 0; i < size; i++) { int _number = random.Next(0, _maxCount); _builder.Append(randomString[_number]); } _nextString = _builder.ToString(); } return lowerCase ? _nextString.ToLower() : _nextString.ToUpper();}
測試代碼如下:
static void Main(string[] args){ try { Random _random = new Random(); string _ramdomString = RandomToolV2.RandomString_09AZ; for (int i = 0; i < 20; i++) { // Console.WriteLine(_random.NetxtString(4, false)); Console.WriteLine(_random.NetxtString(_ramdomString, 4, false)); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.ReadLine(); }}
代碼運行效果如下圖所示:
希望本文所述實例對大家的C#學習能夠有所幫助!
新聞熱點
疑難解答