Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将列表框中项目的值添加到C#中的局部变量?_C#_For Loop_Listbox_Listboxitems - Fatal编程技术网

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

如何将列表框中项目的值添加到C#中的局部变量?,c#,for-loop,listbox,listboxitems,C#,For Loop,Listbox,Listboxitems,因此,我正在做一个实际操作,要求用户输入一个介于0和100之间的分数。该程序将记录已输入的分数、总分(所有分数的总和)和平均分数 为了计算总分,我想出了使用for循环的想法,它将循环遍历我的列表框,并将每个分数添加到一个变量中(如下) intstotal=0; 对于(int i=0;i

因此,我正在做一个实际操作,要求用户输入一个介于
0
100
之间的分数。该程序将记录已输入的分数、总分(所有分数的总和)和平均分数

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

intstotal=0;
对于(int i=0;i

问题是,我不知道该怎么做。我试着搜索,但没有结果。任何帮助都将不胜感激。

像这样的foreach循环最简单:

        int sTotal = 0;
        foreach (string item in lstScores.Items)
        {
            sTotal += Int32.Parse(item);
        }
        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);
inti=0,result=0;
而(i
我还没有试过下面的方法,但是你也可以试一下一行的方法

var sum = lstScores.Items.OfType<object>().Sum(x => Convert.ToInt32(x));
var sum=lstScores.Items.OfType().sum(x=>Convert.ToInt32(x));
如果总和超过
int.Max

看到这个了吗

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

txtScoreTotal.Text = Convert.ToString(result);
inti=0,result=0;
而(i
我还没有试过下面的方法,但是你也可以试一下一行的方法

var sum = lstScores.Items.OfType<object>().Sum(x => Convert.ToInt32(x));
var sum=lstScores.Items.OfType().sum(x=>Convert.ToInt32(x));
如果总和超过
int.Max

intstotal=0;
整数平均=0;
对于(int i=0;i
intstotal=0;
整数平均=0;
对于(int i=0;i
@Mong Zhu,我确实有点太快了,我删除了我的评论并提供了我认为正确的答案。@Mong Zhu,我确实有点太快了,我删除了我的评论并提供了我认为正确的答案。如果你提供了答案,也许你可以教一点钓鱼。。而不是简单地喂鱼;)对于非常基本的问题,我通常不提供,因为我经常找不到正确的方法问题或缺乏基本知识。提供正确的方法不需要任何规范,而且由于缺乏基本知识(对于初学者来说是完全可以接受的),我无法在一个单一的答案中说明这一点。我只是向谷歌提供解决方案和关键词,以供将来参考。引用“简洁是可以接受的,但更全面的解释更好。”IMHO,如果问到这么简单的问题,那么缺乏基本知识(这是理解给定代码的基础)实际上会妨碍人们理解“为什么它实际有效”没有任何解释。但这是你的答案。如果你能提供一个答案,也许你可以教一点钓鱼。。而不是简单地喂鱼;)对于非常基本的问题,我通常不提供,因为我经常找不到正确的方法问题或缺乏基本知识。提供正确的方法不需要任何规范,而且由于缺乏基本知识(对于初学者来说是完全可以接受的),我无法在一个单一的答案中说明这一点。我只是向谷歌提供解决方案和关键词,以供将来参考。引用“简洁是可以接受的,但更全面的解释更好。”IMHO,如果问到这么简单的问题,那么缺乏基本知识(这是理解给定代码的基础)实际上会妨碍人们理解“为什么它实际有效”没有任何解释。但这是你的答案。什么是
int16
?您可以调用TryParse方法编写int16,因此,如果转换失败,您可以使用简单的else来处理异常。这意味着您编写了
int16
,而不是
int16
。但是我也很好奇为什么你用它来代替
Int32
,这就是
int
的别名。哦,我把int16改成了int16,这是错误的对不起,但我不知道为什么我应该用Int32来代替int16。因为int16相对较小,所以你只能准确地解析32767以下的数字。Int32最大值为2147483647,通常使用该值。这就是为什么
int
Int32
的别名,您在其他任何地方都使用它。一般来说,您应该只使用别名。什么是
int16
?您可以调用TryParse方法写入int16,因此如果转换失败,您可以使用简单的else来处理异常。这意味着您编写了
int16
,而不是
int16
。但是我也很好奇为什么你用它来代替
Int32
,这就是
int
的别名。哦,我把int16改成了int16,这是错误的对不起,但我不知道为什么我应该用Int32来代替int16。因为int16相对较小,所以你只能准确地解析32767以下的数字。Int32最大值为2147483647,通常使用该值。这就是为什么
int
Int32
的别名,您在其他任何地方都使用它。一般来说,您应该只使用别名。