c#Linq从字典中的列表中过滤出记录

Pat*_*ick 1 c# linq asp.net dictionary list

这很难解释,可能很简单.

1)我有一本字典.(变量_输出)

2)在NotificationWrapper里面我有一个列表.

3)在这个列表中我有一些我需要匹配的要求.

4)如果这些要求匹配,我想从字典中返回NotificationWrapper.(_output.value)

我试过这样的事情:

var itemsToSend = 
  _output.Where(
      z => z.Value.Details.Where(
          x => DateTime.Now >= x.SendTime && 
          x.Status == SendStatus.NotSent && 
          x.TypeOfNotification == UserPreferences.NotificationSettings.NotificationType.Email
      )
  ).Select().ToList();
Run Code Online (Sandbox Code Playgroud)

所以我想要_output条目匹配条目本身内的条件.因此,对于我遍历的每个条目,我检查该条目中列表中的值以查看它是否已被发送.如果尚未发送,那么我想返回该_output.value项.itemsToSend应包含尚未发送的_output条目.(_output.value.xxx中没有一些值)

Nic*_*rdt 5

在谷歌浏览器中编译:)

var itemsToSend = _output
    .Values
    .Where(n => n.Details.Any(
        x => DateTime.Now >= x.SendTime && 
        x.Status == SendStatus.NotSent && 
        x.TypeOfNotification == UserPreferences.NotificationSettings.NotificationType.Email))
    .ToList();
Run Code Online (Sandbox Code Playgroud)

即我认为你在寻找Any().