我有一個類:LINQ的所有條件
Public Class Task
{
Public Guid TaskId { get ; set }
Public Guid ParentId { get ; set }
...
}
而另一類:
Public Class ContractDetail
{
Public Guid ContractDetailsID {get;set}
Public Guid TaskId { get;set}
...
}
我要檢查,如果所有的任務都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;
.....
}
但它總是返回false。
如何檢查所有任務是否有ContractDetails?
如何使用** TrueForAll ** – V4Vendetta 2011-04-20 08:06:07
我用TrueForAll替換了所有,它返回false,它認爲問題是使用Contains條件。 – Shayan 2011-04-20 08:12:38
你不需要通過使用** ToString()**來比較它嗎? – V4Vendetta 2011-04-20 08:17:01