2014-07-25 48 views
0

這是我的代碼錯誤:確保名單上的最大索引小於列表大小

private void button1_Click(object sender, EventArgs e) 
    { 
     string to_date = dateTimePicker2.Value.ToString("yyyy/MM/dd"); 
     Console.WriteLine("a"); 
     string[] name = new string[3] {"015", "017", "005"}; 

     for (int i = 0; i < name.Length; i++) 
      { 
       Console.WriteLine("The name is "+ name[i]); 
       conairdata(to_date, name[4]); 
      } 

      label9.Text = " Now processing... Please wait"; 
      label9.Refresh(); 
      Console.WriteLine("d"); 
    } 

    public void conairdata(string to_date , string name) 
    { 
     Console.WriteLine("e"); 
     string path = "H:\\St\\Con\\TB\\mdata"+name+".rpt"; 
     // nofcol and nofrows of our tile array 
     int nofcol = 0; 
     int nofrows = File.ReadLines(path).Count(); 
     StreamReader sReader = new StreamReader(path); 
     string line = sReader.ReadLine(); 
     string[] tileNo = line.Split(','); 
     nofcol = tileNo.Count(); 

我試圖讀取從位置文件「H:\」驅動器。

文件名是mdata017,mdata015,mdata005。 這些文件包含逗號分隔值。 但我的代碼給出以下錯誤。

也請告訴我,我使用的方法是正確的或不讀取此類型的數據。

+0

開始你有一個'名[4]'在那裏,但你的數組只有3個要素。也許你想寫'name [i]'而不是。 – mihai

+0

函數'conairdata'的代碼不完整。你能編輯你的問題嗎? –

回答

2

您的姓名數組大小3:

string[] name = new string[3] {"015", "017", "005"}; 

如果你正在訪問的第五元素在:

conairdata(to_date, name[4]); 

那問題造成的代碼。關於你的第二個問題,這是否是正確的方法..我不知道你的功能conairdata是不完整的。

+0

非常感謝@ PM – user3732694

+0

隨時歡迎:) –

1

恰克您conairdata(to_date, name[4]);

conairdata(to_date, name[3]);

因爲數組索引從0

相關問題