我有以下代码。如何使一位和两位数百分比都有效并且不会导致例外?
private void calcStats()
{
string value;
int value2;
int total = 0;
decimal adverage;
decimal high;
decimal low;
lblHigh.Text = Convert.ToString(0);
foreach (string itemInList in lstBox.Items)
{
value = (itemInList.Substring(50, 3));
value2 = int.Parse(value);
total += (value2);
}
adverage = total/(lstBox.Items.Count);
lblAdverage.Text = Convert.ToString(adverage);
}
答案 0 :(得分:1)
这次您的问题出现在代码的另一部分。在btnAdd_Click
方法中,您有一个这样的代码段:
//Add the data elements to the row
row = name.ToString().PadRight(25);
row += ID.ToString().PadRight(25);
row += score.ToString();
您还需要填写分数:
//Add the data elements to the row
row = name.ToString().PadRight(25);
row += ID.ToString().PadRight(25);
row += score.ToString().PadRight(3);
没有PadRight(3)
您的单个和两位数分数会引发异常,因为该单个数字位于第50位,并且在该单个数字后没有任何内容可读。通过填充,您知道所有3个可能的分数(单,双,三位数)占。解析函数将处理空格,只需给出数字,无论它是1,10还是100。