Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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中输入的数量计算平均值_C# - Fatal编程技术网

C# 根据C中输入的数量计算平均值

C# 根据C中输入的数量计算平均值,c#,C#,我显示了三个文本框,只显示数字。 用户可以在一个文本框中输入值,也可以按任意顺序在两个或三个文本框中输入值。 我想计算C中那些文本框中输入值的平均值 比如说。如果任何一个文本框包含值,则必须根据1个值/1计算平均值 如果两个文本框包含值,则必须使用2 value1+value2/2计算平均值 如果三个文本框包含值,则必须使用3计算平均值 值1+值2+值3/3 任何人都知道如何用更少的代码实现这一点吗?最简单的方法是创建一个包含值的列表,并利用框架计算该列表中包含的数字的平均值 在步骤中,为避免填

我显示了三个文本框,只显示数字。 用户可以在一个文本框中输入值,也可以按任意顺序在两个或三个文本框中输入值。 我想计算C中那些文本框中输入值的平均值

比如说。如果任何一个文本框包含值,则必须根据1个值/1计算平均值

如果两个文本框包含值,则必须使用2 value1+value2/2计算平均值

如果三个文本框包含值,则必须使用3计算平均值 值1+值2+值3/3


任何人都知道如何用更少的代码实现这一点吗?

最简单的方法是创建一个包含值的列表,并利用框架计算该列表中包含的数字的平均值

在步骤中,为避免填鸭式输入,请复制可粘贴代码:

创建数字列表变量 对于每个文本框: 检查文本框是否包含文本 如果是这样,请尝试将其解析为一个数字 成功后,将号码添加到列表中 计算列表中数字的平均值 相关阅读材料:


您可以将这些值放入数组或列表中,并使用LINQ的Enumerable.Average。或者使用以下使用int.TryParse的查询计算它,并假定文本框位于同一容器控件(如面板或GroupBox)中:


代码比什么少?是的,我想每个人都会理解平均数的概念:D但是到目前为止你尝试了什么-你的代码在哪里?++因为没有像我那样填鸭式地输入,并且提供了所有必要的信息@蒂姆:谢谢你的LINQ/Fluent回答很简洁,而且很有技巧,但是对于编程新手来说可能不太容易理解;你好,谢谢你的回复。这个列表运行得很好
int value = 0;
double average = TextBoxPanel.Controls.OfType<TextBox>() // get all TextBoxes from this panel
    .Where(t => int.TryParse(t.Text, out value))  // which Text is parsable to int
    .Select(t => value)                           // select the value that contains the parsed int
    .Average();                                   // use Enumerable.Average to calculate the average