[問題] 索引超出範圍…參數index
各位前輩大家好,我是剛學習C#的新手,沒有其他程式基礎。
所以可能很多基礎的東西不是很了解,還請前輩多多指教。
目前寫老師交代的作業時遇到一個問題,我想要用windowsform的textbox輸入4個數字
然後和隨機出來的數字進行猜數字的XAXB比對,但是會跳出:
索引超出範圍。必須為非負數且小於集合的大小。 參數名稱 index
搜尋網路上這問題好像大部分出現在陣列,可是我依照老師的範例是用list去執行,
同時再產生一個隨機4位數字的int list進行比對就不會出現這個問題,
目前推測是Textbox輸入的數字有問題,想請問問題可能出在哪裡?
以下是CODE:
public List<int> UserAnswer = new List<int>();
int UserAns = 0;
if (textBox1.Text.Length < 4)//判斷玩家輸入數字數量
{
}
else
{
UserAns = int.Parse(textBox1.Text);
UserAnswer.Add(UserAns);
}
Textbox有用MaxLength限制4,
我的想法是在位數小於4的時候不做任何事情,
不小於4的時候將這輸入轉換成int整數,並且加入list
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.24.34
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1446623661.A.08D.html
→
11/04 16:29, , 1F
11/04 16:29, 1F
→
11/04 16:30, , 2F
11/04 16:30, 2F
public string GetResult(List<int> userAnswer
{
int aCount = 0;
int bCount = 0;
string result = "";
for (int userAnswerIndex = 0; userAnswerIndex < 4; userAnswerIndex++)
for (int answerIndex = 0; answerIndex < 4; answerIndex++)
{
if (userAnswer[userAnswerIndex] == this.answer[answerIndex])
{
if (userAnswerIndex == answerIndex)//A+1
aCount++;
else
bCount++;//B+1
}
}
}
result += "User Answer:" + this.ConvertNumbersToString(userAnswer) + "\n";
return string.Format("\n{0}A{1}B", aCount, bCount);
}
照同學的建議不進入函式的方法跑是錯在這行。
※ 編輯: reccaX (61.228.24.34), 11/04/2015 17:01:26
推
11/04 17:07, , 3F
11/04 17:07, 3F
→
11/04 17:08, , 4F
11/04 17:08, 4F
→
11/04 17:08, , 5F
11/04 17:08, 5F
→
11/04 17:09, , 6F
11/04 17:09, 6F
→
11/04 17:10, , 7F
11/04 17:10, 7F
→
11/04 17:18, , 8F
11/04 17:18, 8F
推
11/04 18:46, , 9F
11/04 18:46, 9F
推
11/04 18:49, , 10F
11/04 18:49, 10F
→
11/04 18:50, , 11F
11/04 18:50, 11F
推
11/04 18:52, , 12F
11/04 18:52, 12F
推
11/05 12:11, , 13F
11/05 12:11, 13F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章