2014-03-24 2 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"); 
      } 
     } 
    } 

} 

우려 사항이 있으면 알려주세요.

관련 문제