C# 可空 DateOnly Linq 怎么办?

问题描述 投票:0回答:1

我有一个类,例如。 Range 其中有两个 DateOnly 属性,begin 和 end。 end 属性是可选的,因此它可以为空。 (开放式范围) 例如

public class Range {
 public DateOnly begin { get; set; }
 public DateOnly end? { get; set; }
 public Range(DateOnly b, DateOnly e) {
  begin = b;
  end = e;
 }
}

我有一个像

List<Range>
这样的范围列表,如何按范围过滤是在一个日期间隔中,其中从和到的间隔也是 DateOnly? 我想用
.Where(
但是当范围的末尾可以为空时我该如何实现?

c# linq nullable
1个回答
0
投票

像这样吗?

.Where(r => date > begin.Value && (!r.end.HasValue || date < r.end.Value))

本质上:

date 在 begin 之后并且(end 为 null)或(date 小于 end)

© www.soinside.com 2019 - 2024. All rights reserved.