【发布时间】:2012-11-05 01:47:57
【问题描述】:
可能重复:
How can I generate random 8 character, alphanumeric strings in C#?
我有一个以字母名称命名的数组。现在我需要随机选择 5 个字符。如果我使用以下代码,我只能选择一个字符。如何选择给定数组中的 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)];
【问题讨论】:
-
视情况而定。您想在选择中多次允许相同的数字,还是希望 5 个字符不同?
-
您当前的代码永远不会选择“1”,顺便说一句。或“A”到“Q”中的任何一个。 27 个选项中只有 9 种可能的结果。
-
使用
char[]而不是string[]会更有效,这样您就可以避免在构建最终字符串时使用多个字符串连接。 -
或者,更好的是,单个字符串:
String letters = "12345..." -
我希望这不是出于安全目的。
标签: c#