현재 배열에 데이터를 저장하는 중입니다. 프로그램은 텍스트 파일에서 정보를 가져 와서 결과를 제품 이름으로 포맷합니다. 문제는 텍스트의 시작 라인에 숫자 (int)가 없으면 파일이 손상된다는 것입니다. 특히 productID = Convert.ToInt16(storeData[0]);
에 있습니다. 텍스트 파일의 첫 번째 문자가 정수가 아닌 경우 프로그램을 중단하지 않으려면 어떻게해야합니까?배열에 데이터 저장 및 유효한 정수인지 확인
: Gromer 상태로 제품 ID, 월 및 판매
1 5 20.00
CODE
string[] productName = new string[100];
string arrayLine;
int[] count = new int[100];
int productID = 0;
double individualSales = 0;
double[] totalSales = new double[100];
double[] totalAverage = new double[100];
productName[1] = "Cookies";
productName[2] = "Cake";
productName[3] = "Bread";
productName[4] = "Soda";
productName[5] = "Soup";
productName[99] = "Other";
while ((arrayLine = infile.ReadLine()) != null)
{
string[] storeData = arrayLine.Split(' ');
productID = Convert.ToInt16(storeData[0]);
individualSales = Convert.ToDouble(storeData[2]);
if (stateName[productID] != null)
{
count[productID] += 1;
totalSales[stateID] += individualSales;
}
else
{
count[99] += 1;
totalSales[99] += individualSales;
}
}
infile.Close();
사이드 노트 : 샘플 코드에는 질문과 관련없는 너무 많은 내용이 포함되어 있으므로 작게 만드십시오 (5-7 줄이 가장 좋습니다). 'Convert.ToInt16'은'int' 값이'Convert.ToInt32'를 사용할 것으로 기대한다면'short'를 생성합니다. –