如何将列表框中的项目值添加到 C# 中的局部变量?

How can I add the value of an item in a list box to a local variable in C#?

所以我正在做一个实践,要求用户输入一个介于 0100 之间的分数。该程序将跟踪已输入的分数、总分数(所有分数的总和)和平均分数。

为了计算总分,我想到了使用 for 循环的想法,循环遍历我的列表框并将每个分数添加到一个变量(如下)。

int sTotal = 0;
for(int i = 0; i < lstScores.Items.Count; i++)
{
    //Calculation occurs here
}
txtScoreTotal.Text = Convert.ToString(sTotal);

问题是,我完全不知道该怎么做。我试过搜索无济于事。任何帮助将不胜感激。

最简单的方法是像这样使用 foreach 循环:

        int sTotal = 0;
        foreach (string item in lstScores.Items)
        {
            sTotal += Int32.Parse(item);
        }
        txtScoreTotal.Text = Convert.ToString(sTotal);

看到这个

int i = 0, result = 0;
while (i < lstScores.Items.Count)
{
   result += Convert.ToInt32(lstScores.Items[i++]);
}

txtScoreTotal.Text = Convert.ToString(result);

我还没有试过以下方法,但你也可以尝试 1 行解决方案

var sum = lstScores.Items.OfType<object>().Sum(x => Convert.ToInt32(x));

You need to handle exception if sum exceedes int.Max

    int sTotal = 0;
    int Average = 0;
    for(int i = 0; i < lstScores.Items.Count; i++)
    {
         bool result = Int16.TryParse(lstScores.Items[i],out int res);
         if (result)
         {
            sTotale += res;        
         }
    }
    Average = sTotal / lstScores.Items.Count;
    txtScoreTotal.Text = Convert.ToString(sTotal);