2010-01-10 7 views
0

정수, 이중 또는 문자열 데이터 열을 포함하는 텍스트 파일이 있습니다. 각 데이터 행을 내 기록 클래스로 읽고 싶습니다. 열 데이터 형식을 미리 알고 있으므로 아래 코드와 같은 텍스트 파일 행을 구문 분석하고 있습니다 (필자는 입력 한 내용이므로 오류가 발생하지 않습니다). 모든 열을 나열하지 않았으므로 switch 문에 74 개의 사례가 있습니다. 이것이 최선의 방법인지 알고 싶습니다. 이 작업을 수행하는 더 좋은 방법은 무엇입니까? 또한 가능한 한 빨리해야합니다.텍스트 파일을 사용자 정의 데이터 클래스로 읽어들입니다.

List<record> records = new List<record>(); 

string[] split = textRow.Split(new string { "," }, StringSplitOptions.None); 
record = new Record(); 
for (int i=0;i<split.Length;i++) 
{  
    switch (i) 
    { 
     case 0: 
     record.ID = Convert.ToInt32(split[0]); 
     break; 
     case 1: 
     record.Name = split[1]; 
     break; 
     case 2: 
     record.Rate = Convert.ToDouble(split[2]); 
     break; 
     case 3: 
     record.Price = Convert.ToDouble(split[3]); 
     break; 
     case 4: 
     record.Rank = Convert.ToInt32(split[4]); 
     break; 

    } 
} 

records.Add(record); 

답변

3

정말 switch이 필요합니까? 약 :

string[] split = textRow.Split(new string { "," }, StringSplitOptions.None); 
record = new Record(); 
record.ID = Convert.ToInt32(split[0]); 
record.Name = split[1]; 
record.Rate = Convert.ToDouble(split[2]); 
record.Price = Convert.ToDouble(split[3]); 
record.Rank = Convert.ToInt32(split[4]); 
+0

귀하의 권리! 내가 뭘 생각하는지 모르겠다. <- 지금 바보 같아. –

+0

일요일에 작업 중이라면 이해할 수 있습니다 =) –