c# - 日期数组,检查日期是否存在

标签 c# linq

我有一个对象成员,

Member
 PropertyA
 PropertyZ
 Membership[] Memberships

Membership对象是

Membership
 PropertyA
 PropertyZ
 string Status
 DateTime? StartDate 
 DateTime? EndDate 

如果我现在有,

var members = GetAllMembers(DateTime.Now);

我想知道成员(member)今天是否有活跃成员(member),

   // iterating through each member here
   if(member.Memberships.Any())
   {
       // check if user has any membership duration that falls into 
       // today's date and membership status is also "active"
   }

问题是,

我不确定如何检查属于今天日期和成员(member)状态的任何成员(member)期限是否也是“有效”

最佳答案

检查目标 dt(DateTime.Now) 是否在 StartDate 和 EndDate 之间:

if (member.Memberships.Any(x=>targetDt.Ticks > x.StartDate.Ticks && targetDt.Ticks < x.EndDate.Ticks && x.Status=="Active"))
{
    // Has membership on targetDt.
}  

关于c# - 日期数组,检查日期是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33144062/

相关文章:

c# - 展平一个列表,其中一个属性是另一个对象列表

c# - 如何将此循环写成一行?

c# - 按具有不同 Where 条件的两个字段对数据表进行分组和求和

c# - GTK# ProgressBar 在进程完成之前不会更新(我已经尝试过 Application.Invoke())

c# - 将字符串解析为 DirectoryInfo 的正确方法?

c# - 抽象类没有实现接口(interface)

c# - 在 C# 窗体上绘制圆圈后,我怎么知道我点击了哪个圆圈?

c# - Linq to Entities IncludeIf 扩展

c# - Enumerable.Skip 和排序

c# - 使用 linq 查询检查 Null 条件的问题