2017-04-06 16 views
2

아래 코드가 있는데 입력 문자열이 올바른 형식이 아닌 오류 메시지가 나타납니다. 나문자열을 DateTime 형식으로 변환 문제 C#

List<Crime> crimeList = new List<Crime>(); 
while (!reader.EndOfStream) 
{ 
    var line = reader.ReadLine(); 
    var values = line.Split(','); 
    crimeList.Add(new Crime() 
    { 
     Dates = DateTime.ParseExact(values[0],"yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture), 
     Category = values[1], 
     Description = values[2], 
     DayOfWeek = values[3], 
     PdDistrict = values[4], 
     Resolution = values[5], 
     Address = values[6], 
     x = Convert.ToDouble(values[7]), 
     y = Convert.ToDouble(values[8]) 
}); 

values[0]2015-05-13 23:53:00입니다 도와주세요. 때문에 내가 사진에서 본 것과이 라인 x = Convert.ToDouble(values[7])에서 https://s23.postimg.org/x0g4k37kr/datetime_problem.png

+2

문자열 값을 질문에 * 텍스트 *로 포함 시키면 도움이 될 것입니다. 내 생각 엔 인쇄 할 수없는 문자가 포함되어 있습니다 ... 이것을 [mcve]에서 재현 할 수 있습니까? –

답변

10

예외였다 values[7] 주소의 string입니다 : -?

+0

커다란 csv 파일 (800k 라인)에서 작업하고 있지만 7 번째 컬럼에는 단 한 단어 만 있지만 분명히 쉼표가있는 몇 가지 항목이 있습니다. ( – 99LittleBugsInTheCode

+0

네, 배열의 길이를 확인할 수 있습니다 당신이 올바른 데이터를 얻고 있는지 확인하기 위해 –

+0

당신의 datetime 변환이 정확하다고 생각합니다. 그래서 뭔가 다른 것이 틀림 없습니다. 제 제안은 어떤 라인이 에러를 일으키는 지 알 때까지 각 라인을 주석 처리하려고합니다 –