我目前正在將數據存儲到數組中。該程序從文本文件中獲取信息,然後使用產品名稱格式化結果。問題是,如果在文本的起始行中找到除數字(int)之外的其他文件,則文件會中斷。具體在productID = Convert.ToInt16(storeData[0]);
。如果文本文件中的第一個字符不是整數,我該如何避免破壞程序?將數據存儲到數組中並檢查它是否是有效整數
的信息看起來如何在文本文件中:產品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'產生'short',如果你真的希望'int'值使用'Convert.ToInt32'。 –