我只在一段时间内使用Arrays,而且我发现它们比使用Lists更难。对于作业,我编写了一个表格,从文本框中输入并输出计数,平均值和总计。代码如下:
int [] intScoreTotalArray = new int[20];
decimal decScoreAverage = 0m;
decimal decScoreTotal = 0m;
decimal decScoreCount = 0m;
private void btnAdd_Click(object sender, EventArgs e)
{
intScoreTotalArray[0] = Convert.ToInt32(txtScore.Text);
for(int i = 0; i < intScoreTotalArray.Length; i++)
{
decScoreTotal += intScoreTotalArray[i];
}
decScoreCount++;
decScoreAverage = decScoreTotal / decScoreCount;
但是我还需要在stong的消息框中显示它,它只给我最后一个值。我的理论是,问题在于两个代码框,或者在初始for循环中。
private void btnDisplayScores_Click(object sender, EventArgs e)
{
decimal decScore = Convert.ToDecimal(txtScore.Text);
string strScoreTotal = " ";
for (int i = 0; i < intScoreTotalArray[i]; i++)
{
strScoreTotal += decScore.ToString() + "\n";
}
Array.Sort(intScoreTotalArray);
MessageBox.Show(strScoreTotal + "\n","Score Array");
么?
答案 0 :(得分:0)
为什么使用数组来确定数字列表的计数,平均值和总数?它们不是动态项目列表的最佳结构,因为在初始化时必须声明数组的大小。你应该使用一个列表来完成这项任务。
至于为什么你的代码没有表现:
intScoreTotalArray[0] = Convert.ToInt32(txtScore.Text);
您只是在这里指定数组中的第一项。
您似乎正在使用decScoreCount来跟踪数组中的项目数。我想你想这样做:
intScoreTotalArray[(int) decScoreCount] = Convert.ToInt32(txtScore.Text);