2016-09-21 4 views
1

나는 C#이나 프로그래밍 문제로 인해 몇 년이 지났습니다. 여러 정수로 CSV 파일을 읽으려고합니다. CSV 파일의 형식은 다음과 같습니다.CSV 파일을 여러 정수로 읽음

box1,3 
box2,6 
box3,10 
... 
box160,1 

내 코드는 다음과 같습니다. TextFieldParser는 다른 질문에서 벗어났습니다. 그것이 내가 필요한 것조차 확실하지 않습니다. CSV 파일의 ","앞에 정보를 보관할 필요가 없습니다. ","뒤에 정보가 필요하면 코드에서 올바른 int와 일치해야합니다. 어떤 도움이나 조언을 많이 주시면 감사하겠습니다.

int box1; 
int box2; 
int box3; 
... 
int box160; 

using (TextFieldParser parser = new TextFieldParser(@"C:\SprinklerTimer\DailySprinklerTimer.csv")) 
{ 
    parser.TextFieldType = FieldType.Delimited; 
    parser.SetDelimiters(","); 
    while (!parser.EndOfData) 
    { 
      //Processing row 
      string[] fields = parser.ReadFields(); 
      foreach (string field in fields) 
      { 
       //TODO: Process field 
      } 
    } 
} 
+0

구체적인 _question_은 무엇입니까? 작업 한 코드가 있습니까? 그렇다면 나는 그 질문이 무엇인지 이해하지 못한다. 작동하지 않는다면, 문제가 무엇이든지 정확하게 재생산하는 좋은 [mcve]를 제공하고, 그 문제가 무엇인지를 _precisely_ 설명해야합니다. 문자열을 쉼표로 구분하거나 다른 방법으로 넘기면 Stack Overflow는 이러한 질문으로 가득 차 있습니다. 대부분이 특정 시나리오를 직접 처리합니다. 너 찾았 니? 뭘 찾았 니? 그 질문에 대한 대답은 어땠습니까? –

답변

-1

수동으로 160 개의 상자 정수를 만드는 것은 매우 비효율적입니다. 배열을 사용해보십시오.

int[] box; // declare numbers as an int array of any size 
box = new int[160]; //New box array for 0-159 

이 값에 대해 동일한 작업을 수행 할 수 있습니다. 값 [] 배열 또는 무엇을 상자에 두 개의 정수가있는 구조체 int 대신 구조체를 만들 것입니다.

struct SimpleStruct 
{ 
int name, value; 
} 

SimpleStruct[] box; // declare numbers as an int array of any size 
box = new SimpleStruct[160]; //New box array for 0-159 

그리고 실제 질문으로 가서, 난 당신이 내 위의 변경을 구현하는 경우 도움이 될 것입니다이 질문에 추천 할 것입니다.

Read CSV files to two arrays c#

+0

배열에 대한 팁 주셔서 감사. 내가 말했듯이 몇 년이 지났습니다. cvs 파일을 두 개의 배열로 읽는 것에 대한 다른 기사를 주셔서 감사합니다. 전에는 찾지 못했던 것 같습니다. – AWilker

관련 문제