2014-03-24 95 views
0

在下面的此方法中,我將字符串smdrext設置爲tmp [3]。然而,tmp [3]似乎有時是空的,因爲我得到了「索引超出了數組邊界」。在我設定之前,我是否可以改變它確實存在以確保程序不會因此而停止?可能未設置數組元素

public void WriteToCSV(string line, string path) 
{ 

    string[] tmp = line.Split(','); 
    string smdrext = tmp[3]; 

    if (ext.Contains(Convert.ToString(smdrext))) 
    { 

     File.AppendAllText(path, line + "\n"); 

    } 

} 

回答

2

請試試下面的代碼片段。

public void WriteToCSV(string line, string path) 
{ 
    if (!string.IsNullOrEmpty(line)) 
    { 
     string[] tmp = line.Split(','); 
     if (tmp.Length > 3) 
     { 
      string smdrext = tmp[3]; 

      if (ext.Contains(Convert.ToString(smdrext))) 
      { 
       File.AppendAllText(path, line + "\n"); 
      } 
     } 
    } 

} 

讓我知道是否有任何問題。