选择查询计数LINQ C#Unity无法正常工作

时间:2017-04-29 07:34:57

标签: c# linq unity3d

有人能告诉我为什么这个查询会返回错误的值吗?

首先我在Player.estateagent生成30个数据。日期必须到28/05。

System.DateTime Now = System.DateTime.Now;
System.DateTime thedate;
thedate = Now;
System.DateTime today = System.DateTime.Now;

for (int i = 1; i <= 30; i++) {
            Player.estateagent.Add (new classBundle (thedate, false));
            thedate = thedate.AddDays (1);

            Debug.Log ("DATE : " + Player.estateagent [i - 1].Date);
        }

int count = Player.estateagent.Where (j => {
                        return j.Complete == false && today.Date <= j.Date.Date;
                    }).Select (j=> j.Date.Date).Count ();

Debug.Log(count); // Here return 30, It must be 1

当我计算时我得到30不是1.它应该返回1因为我有查询  的 where j.complete == false && today.Date <= j.Date.Date

有人可以解释我做了什么错误吗?

由于

1 个答案:

答案 0 :(得分:0)

是的,到目前为止,我提出了一个错误的问题。这只是对逻辑的误解。

我上面提供的代码正在运行而没有错误。逻辑也是正确的。

结果是30。

但我希望得到的结果是Equal和Greater(&lt; =)而不是Player.estateagent =&gt;日期符合今天的日期。

所以我今天只需要做。日期&gt; = j.Date.Date。

就像那样。