好吧我很困惑,我有:一個int變量一個字符串數組和一個所有應該會的語句。它非常標準的循環數組結構。C#循環字符串數組錯誤
public class Form1 : System.Windows.Forms.Form
{
public int ticker = 0;
public string[] pictureArray = new String[] {
"image01.jpg",
"image02.jpg",
"image03.jpg",
"image04.jpg",
"image05.jpg",
"image06.jpg",
"image07.jpg",
"image09.jpg",
"image10.jpg",
"image11.jpg",
"image12.jpg",
"image13.jpg",
"image14.jpg",
"image15.jpg",
"image16.jpg",
"image17.jpg",
"image18.jpg",
"image19.jpg",
"image20.jpg",
"image21.jpg",
"image22.jpg"
};
...
if (this.ticker < 21)
{
this.ticker++;
}
else
{
this.ticker = 0;
}
MessageBox.Show(pictureArray[ticker]);
它運行正常,直到股票是> 21,然後崩潰,並指出IndexOutOfRange但如果我是說改變的MessageBox只是打印股票它是好的,我沒有錯誤。現在我已經看過類似的問題,但問題是我是一名PHP程序員,如果答案與我的情況有關,我不確定其中的一些人。
任何幫助將不勝感激,我認爲我有這裏的所有相關信息,如果不是我道歉。但是,一切工作,直到它開始回收數組並再次運行數組。我只是感到困惑。
'this.ticker'從哪裏來?另外,當然你不希望'if(this.ticker
當你聲明你是一個PHP程序員時,我相信你的答案就是在你面前凝視你。數組索引從0開始到最大項目。所以如果你閱讀max items + 1(例如'this.ticker'),那麼你會得到一個IndexOutOfRange Exception。將其更改爲<= 21. – 2011-08-10 14:57:00
拋出異常時'ticker'的值是多少?它是從'pictureArray [ticker]'行拋出的嗎?這段代碼對我來說很好。 –