Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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中将NaN值转换为空字符串#_C# - Fatal编程技术网

C# 在C中将NaN值转换为空字符串#

C# 在C中将NaN值转换为空字符串#,c#,C#,我希望这不是一个愚蠢的问题,但我会尽力解释 我从数据库中读取平均值并将其写入矩阵,我做了一个for循环将零附加到矩阵中,这样我就可以看到下面的坐标是否有值 我的问题是: 我现在需要计算平均值,而不必从for循环中添加零。我只是删除了for循环,但现在我的控制台中有一个NaN值 是否仍要将NaN值转换/过滤为空字符串 for (int y = 1; y <= koordinaten.Laenge; y++) {

我希望这不是一个愚蠢的问题,但我会尽力解释

我从数据库中读取平均值并将其写入矩阵,我做了一个for循环将零附加到矩阵中,这样我就可以看到下面的坐标是否有值

我的问题是:

我现在需要计算平均值,而不必从for循环中添加零。我只是删除了for循环,但现在我的控制台中有一个NaN值

是否仍要将NaN值转换/过滤为空字符串

            for (int y = 1; y <= koordinaten.Laenge; y++)
            {
                for (int x = 1; x <= koordinaten.Breite; x++)
                {

                    var sK = sensorKoordinaten
                        .Where(sKoordinaten =>
                            sKoordinaten.XKoordinate == x && sKoordinaten.YKoordinate == y)
                        .DefaultIfEmpty(new Sensor())
                        .FirstOrDefault();

                    var messung = results.Where(messungAVG => messungAVG.IDSensor == sK.ID).ToList();
                    var anzahl = DBHelper.GetAnzahlFromMessungKopf(idmessung);

                    double summe = 0;
                    double ergebnis = 0;
                    int d;

                    //Berechnet den Mittelwert
                    for (d = 0; d < messung.Count; d++)
                    {
                        summe += messung[d].Messwert;
                    }
                    ergebnis = summe / d;

                    Console.Write($" {ergebnis.ToString("N2")} ");
                }
                Console.Write("\n");
            }
            Console.ReadKey();
for(int y=1;y messungAVG.IDSensor==sK.ID).ToList();
var anzahl=DBHelper.GetAnzahlFromMessungKopf(idmessung);
双和=0;
双ergebnis=0;
int d;
//密特维特酒店
对于(d=0;d
您收到一个错误,因为
messung
为空

if (messung.Any()) // same logic than `if (messung.Count > 0)` as @Matthew Watson said
{
    // by the way linq can handle sum
    // ergebnis = messung.Sum(x => x.Messwert) / messung.Count;
    // in fact you can go further, linq includes Average
    ergebnis = messung.Average(x => x.Messwert);
}

提供…提供示例数据
Double。IsNaN
会告诉你某件事是否是
NaN
,所以你可以用它做任何你喜欢的事情,但如果没有代码,就不可能知道在你的情况下这样做是否合适。对不起,伙计们。我编辑过:)你应该特别处理
messung.Count
为零的情况,因为那样你就没有平均值了。也许在循环中放置一个
if(messung.Count>0)