0
var myDictionary = new Dictionary<int, List<DateTimeOffset?>>
{
{1234, new List<DateTimeOffset?> {new DateTimeOffset(DateTime.Today), null, new DateTimeOffset(DateTime.Today)}},
{2134, new List<DateTimeOffset?> {null, new DateTimeOffset(DateTime.Today), new DateTimeOffset(DateTime.Today)}},
{2345, new List<DateTimeOffset?> {null, null, new DateTimeOffset(DateTime.Today)}},
{3451, new List<DateTimeOffset?> {new DateTimeOffset(DateTime.Today).AddDays(-1), null, new DateTimeOffset(DateTime.Today)}}
};
当我通过DateTimeOffset(DateTime.Today)进行搜索时,我只想选择或提取键1234,2134和2345而不是最后一个3451,因为不是这个键的所有值都等于搜索的datetimeoffset值DateTimeOffset(DateTime.Today)忽略空值。从词典中提取键值中的所有值都等于搜索值
我需要这个请求一个linq查询。这个查询似乎这样做,但如何提取字典的关键?
var mySearchResult = myDictionary.Values.Where(v1 => v1.All(d2 => d2.HasValue == false || d2.Value == new DateTimeOffset(DateTime.Today)));
任何帮助,非常感谢。