1

重複の可能性:
C# でランダムな 8 文字の英数字文字列を生成するにはどうすればよいですか?

私は文字の名前に配列を持っています.今私は5文字をランダムに選択する必要があります.次のコードを使用すると、1文字しか選択できません. 指定された配列文字列の5桁をランダムに選択する方法は?

    String[] letters = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q" };
    Random rand = new Random();
    String number = letters[rand.Next(1,10)];
4

3 に答える 3

5
string number = 
    string.Concat(Enumerable.Range(0,5).Select(i => 
        letters[rand.Next(0, 10)]));

もちろん、配列の内容を考えると、これは機能的に次と同等です。

string number = rand.Next(0, 100000).ToString("D5");
于 2012-11-16T10:37:04.727 に答える
3
string[] selected = new string[5];
Random rand = new Random();
for(int i = 0 ; i < selected.Length ; i++)
{
    selected[i] = letters[rand.Next(letters.Length)];
}
于 2012-11-16T10:36:15.223 に答える
2
var randomSelection = (from c in letters orderby rand.Next() select c).Take(5);
于 2012-11-16T10:50:56.503 に答える