如何将列表框中的项目值添加到 C# 中的局部变量?
How can I add the value of an item in a list box to a local variable in C#?
所以我正在做一个实践,要求用户输入一个介于 0
和 100
之间的分数。该程序将跟踪已输入的分数、总分数(所有分数的总和)和平均分数。
为了计算总分,我想到了使用 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);
所以我正在做一个实践,要求用户输入一个介于 0
和 100
之间的分数。该程序将跟踪已输入的分数、总分数(所有分数的总和)和平均分数。
为了计算总分,我想到了使用 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);