小编Sha*_*yan的帖子

LINQ- Max在哪里条件

我有一个带有这个定义的类TaskWeekUI:

 public class TaskWeekUI    {
   public Guid TaskWeekId { get; set; }
   public Guid TaskId { get; set; }
   public Guid WeekId { get; set; }
   public DateTime EndDate { get; set; }
   public string PersianEndDate { get; set; }
   public double PlanProgress { get; set; }
   public double ActualProgress { get; set; }    } 
Run Code Online (Sandbox Code Playgroud)

我写了这个查询:

 TaskWeekUI ti =  tis.First( t => t.PlanProgress > 0 && t.EndDate ==  tis.Where(p => p.PlanProgress != null && p.PlanProgress > 0).Max(w => w.EndDate));
Run Code Online (Sandbox Code Playgroud)

这个查询是真的吗?我能比这更好地写出我的查询吗?

c# linq max where

11
推荐指数
2
解决办法
4万
查看次数

LINQ-所有条件

我有一个班级:

Public Class Task
{
    Public Guid TaskId { get ; set }
    Public Guid ParentId { get ; set }
    ...
}
Run Code Online (Sandbox Code Playgroud)

而另一课:

Public Class ContractDetail
{
    Public Guid ContractDetailsID {get;set}
    Public Guid TaskId { get;set}
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想检查所有任务是否有ContractDetail然后做一些事情我写了这个查询:

 List<Guid> Sids = new List<Guid>();
 Sids = Tasks.Where(p => p.ParentId == ParentId).Select(p => p.TaskId).ToList();
 if(ContractDetails.All(p => Sids.Contains(p.TaskId))
 {
      int i = 5;
      .....
 }
Run Code Online (Sandbox Code Playgroud)

但它总是返回false.

如何检查所有任务是否有ContractDetails?

.net c# linq

1
推荐指数
1
解决办法
6629
查看次数

标签 统计

c# ×2

linq ×2

.net ×1

max ×1

where ×1