1. ホーム
  2. c#

[解決済み] ランダムな英数字の文字列を生成するにはどうすればよいですか?

2022-03-17 11:27:12

質問

C#で8文字の英数字のランダムな文字列を生成するには?

どのように解決するのですか?

LINQは新しい黒だと聞いたので、LINQを使った試みを紹介します。

private static Random random = new Random();

public static string RandomString(int length)
{
    const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    return new string(Enumerable.Repeat(chars, length)
        .Select(s => s[random.Next(s.Length)]).ToArray());
}

(注) Random クラスは、この セキュリティ関連には不向き パスワードやトークンの作成などです。そのため RNGCryptoServiceProvider クラスは、強力な乱数生成器が必要な場合に使用します)。