C#においてランダムな文字列を生成したり特定の文字数を指定して文字列を生成する方法はプログラミングにおいて様々な場面で活用されます。
この記事ではその基本的な手法や便利なライブラリを使った方法について解説します。
ランダム関数で英数字のパスワード生成
ランダムな文字列を生成するには、Randomクラスを利用します。
以下は指定した長さのランダムな文字列を生成するメソッドの例です。
using System;
using System.Linq;
class Program
{
static void Main()
{
int length = 10; // 生成する文字列の長さ
string randomString = GenerateRandomString(length);
Console.WriteLine(randomString);
}
static string GenerateRandomString(int length)
{
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
return new string(Enumerable.Repeat(chars, length)
.Select(s => s[random.Next(s.Length)]).ToArray());
}
}
ガマくん
数字のみをランダムに生成したい場合は以下記事を参考にしてみてね
[C#]ランダムな数値を範囲指定で生成させる!最大値最小値の乱数
ランダムな数値を範囲指定して変数にセットする方法はC#においてよく使用されるテクニックの一つです。この記事ではC#で範囲指定でランダムな数字を変数にセットする手法について解説します。
文字数を指定して文字列を生成する
指定した文字数で特定の文字列を生成する場合、stringクラスのコンストラクタやStringBuilderクラスを使用することができます。
以下は、それぞれの例です。
stringクラスのコンストラクタを使用する方法
using System;
class Program
{
static void Main()
{
int length = 10; // 生成する文字列の長さ
char defaultChar = 'A'; // 生成する文字
string generatedString = new string(defaultChar, length);
Console.WriteLine(generatedString);
}
}
StringBuilderクラスを使用する方法
using System;
using System.Text;
class Program
{
static void Main()
{
int length = 10; // 生成する文字列の長さ
char defaultChar = 'A'; // 生成する文字
StringBuilder stringBuilder = new StringBuilder(length);
stringBuilder.Append(defaultChar, length);
string generatedString = stringBuilder.ToString();
Console.WriteLine(generatedString);
}
}
広告
まとめ
この記事では、C#でランダムな文字列を生成したり指定した文字数で文字列を生成する方法について解説しました。
Randomクラスやstringクラスなどの方法を使えば、様々なシーンで便利に文字列を生成することができます。
自分のプログラムに合った方法を選んで活用してみてください。