首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visifire图反向循环顺序

Visifire图反向循环顺序
EN

Stack Overflow用户
提问于 2016-12-21 07:26:56
回答 1查看 59关注 0票数 1

我正在运行一个foreach循环,女巫返回的结果如下:

代码语言:javascript
复制
1
2
3
4
5
6
7
8
9
10

但是,我将这些结果作为数据点放在了foreach中。但是在页面本身,结果会被交换。

他们是这样出现的:

代码语言:javascript
复制
10
9
8
7
6
5
4
3
2
1

foreach循环如下所示:

代码语言:javascript
复制
int count = 0;
foreach (DetectorStatu status in loadOperation.Entities.OrderBy(d => d.Status))
{
    Detector selectedDetector = status.Detector as Detector;
    bool isAtlasFO = selectedDetector.EnabledDetectorTypes.Count(d => d.DetectorTypeID == 1) > 0;
    
    if (isAtlasFO)
    {
        DataPoint dataPoint1 = new DataPoint()
        {
            YValue = status.Status * 100.0,
            ToolTipText = GetTooltipText(status),
            Cursor = Cursors.Hand,
            Tag = status.Detector,
            AxisXLabel = status.DetectorID.ToString() + " ⚫"
        };

        DataPoint dataPoint2 = new DataPoint()
        {
            YValue = DateTimeOffset.Now.Subtract(status.DateTime).TotalHours,
            ToolTipText = GetTooltipText(status),
            Cursor = Cursors.Hand,
            Tag = status.Detector,
            AxisXLabel = status.DetectorID.ToString() + " ⚫"
        };

        dataPoint1.MouseLeftButtonDown += DataPointClicked;
        dataPoint2.MouseLeftButtonDown += DataPointClicked;

        chart.Series[0].DataPoints.Add(dataPoint1);
        chart.Series[1].DataPoints.Add(dataPoint2);
        count++;
        if (count == 10)
        {
            break;
        }//Break loop when 25 is hit.
    }//End if Atlas FO
}//End Foreach loop

现在我的问题是:

foreach循环将得到正确的结果,如第一个示例所示。但是,如第二个示例所示,数据点交换它们。

我怎么才能阻止这一切的发生?

对于当前代码(Orderby),它返回以下内容:

使用OrderbyDescending,它返回以下内容:

现在我想要的是orderByAscending。但是相反的。因为现在它显示出最好的在顶部而不是底部。

而且,我不能使用x(我以前所做的),因为现在,我使用的是if语句。

例如:

代码语言:javascript
复制
1
2 //
3 //
4 //
5
6
7 //
8
9 //
10

这是我取得的前10个结果(如果我要求的话)。但是,有/支持它们的是那些符合我的if语句的。

所以在这种情况下,我取10,但只有5。

这也是为什么我有一个计数在我的前额。它计算结果,当我点击10,它打破循环。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-21 07:43:54

如果Status持有该值,则使用降序循环,

代码语言:javascript
复制
foreach (DetectorStatu status in loadOperation.Entities.OrderByDescending(d => d.Status))

尝试使用OrderBy (这将按升序排序)

代码语言:javascript
复制
foreach (DetectorStatu status in loadOperation.Entities.OrderBy(d => d.Status))

编辑:

你可以拿到10的订单,然后倒车,

代码语言:javascript
复制
 foreach (DetectorStatu status in loadOperation.Entities.OrderByDescending(d => d.Status).Where(d=> ((d as DetectorStatu).Detector as Detector).EnabledDetectorTypes.Count(d => d.DetectorTypeID == 1) > 0).Take(10).Reverse())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41257291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档