c# 指定した文字数でランダムな文字列をつくる方法

今回はc#で指定した文字数でランダムな文字列をつくる方法についてです。

ただ単にランダムな文字列が欲しいだけであれば

System.Guid.NewGuid();

でGuidを使う方法もありますが、5文字のランダムな文字列が欲しいといったような場合、Guidでは実現できません。

c#には特に文字数指定してランダムな文字列を返してくれる関数がないので自作して対応します。

//文字列生成に使用する文字
readonly string chars = "0123456789abcdefghijklmnopqrstuvwxyz";
string GenerateRandomString(int length) {
    StringBuilder sb = new StringBuilder(length);
    Random r = new Random();
    for (int i = 0; i < length; i++) {
        int pos = r.Next(chars.Length);
        char c = chars[pos];
        sb.Append(c);
    }
    return sb.ToString();
}

上記処理で引数に文字列の長さをしていして、その長さのランダムな文字列を取得できます。

タイトルとURLをコピーしました