2014-10-07 4 views
-4

구조체의 올바른 포맷팅 및 배열에 없었다 "입력 문자열의 형식이 잘못했다" 그 코드 주위 :입력 문자열 내가 구조체의 배열을 가지고 있고이 오류 코드가 계속

static void Main(string[] args) 
{ 
    const int NUMBER_UNIVERSITIES = 37; 
    const string FILE_NAME = "undergraduateapplicationsoffersandacceptances2013appendices.txt"; 

    Universities[] specification = new 
     Universities[NUMBER_UNIVERSITIES]; 
    StreamReader inFile = new StreamReader(FILE_NAME); 

    //input load data into customers array 
    for(int counter = 0; counter < NUMBER_UNIVERSITIES; 
     counter++) 
    { 
     specification[counter].universityName = 
      inFile.ReadLine(); 
     specification[counter].universityState = 
      inFile.ReadLine(); 
     specification[counter].admissions2010 = 
      Convert.ToInt16(inFile.ReadLine()); 
     specification[counter].admissions2011 = 
      Convert.ToInt16(inFile.ReadLine()); 
     specification [counter].admissions2012 = 
      Convert.ToInt16 (inFile.ReadLine()); 
     specification [counter].admissions2013 = 
      Convert.ToInt16(inFile.ReadLine()); 
    } 
    inFile.Close(); //don't forget to close the file :) 

    DisplayUniversities(specification); 

    Console.ReadKey(); 
} 

나는 몇 가지 시도했지만 오류가 사라지지 않을거야, 내가 뭘 할 수 있는지 아는 사람 있습니까? 누구든지 도울 수 있다면 미리 감사드립니다!

+4

분명히 입력 파일의 번호가 예상되지 않은 번호가 아닙니다. 그게 뭐야? 파일의 관련 부분을 표시 할 수 있습니까? 디버거에서 예외 시간에 변수의 값을? – BradleyDotNET

+1

잠재적 인 복제본 : http://stackoverflow.com/questions/7532801/system-formatexception-input-string-was-not-in-a-correct-format – BradleyDotNET

+0

'double.TryParse' 대신'Int16.TryParse '. _ (BradleyDotNET의 의견과 관련 있음) _ –

답변

0

이 예외는 inFile.ReadLine()이 int16으로 변환 할 수있는 문자열을 반환하지 않는다는 것을 의미합니다. 파일이 올바른지 확인하십시오.

관련 문제