無法弄清楚爲什麼我在標誌上收到錯誤。任何幫助將不勝感激! 的目標是使用下面指定的字符生成40個字符。使用未分配的本地變量'flag'
公共靜態字符串udidGen(){
bool flag;
string s1 = "";
string[] sArr2 = new string[] {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"a",
"b",
"c",
"d",
"e",
"f" };
string[] sArr1 = sArr2;
Random random = new Random();
int i = 0;
while (**flag**)
{
s1 += sArr1[random.Next(0, 15)];
i++;
flag = i < 40;
}
return s1;
}
除了編碼風格的問題(追加一個字符串,環不清,不必要的陣列拷貝等),還有就是在這裏打破了另一件事 - 爲random.Next,第二個參數應該是16,不15. random.Next(0,16)會給你一個0到15之間的隨機數(不要問我爲什麼這麼做)。 – 2010-08-02 04:46:16
此外,你的隨機變量應該被聲明爲一個靜態字段,並且只實例化一次(或者每次使用不同的種子實例化)。這將確保每次它調用「下一步」時它會給你隨機的東西,而不是每次都有相同的值。爲了演示,請嘗試連續10次進行此調用 - 您可能會連續多次獲得相同的結果。 – 2010-08-02 04:49:04