C# 如何对列表进行分组<;K>;通过列表<;T>;,取决于表达式的结果<;T、 K>;?
我很难表达这个问题,所以请容忍我,并请随时提出后续问题 我有一个Period对象,其他地方有一个函数,如下所示:C# 如何对列表进行分组<;K>;通过列表<;T>;,取决于表达式的结果<;T、 K>;?,c#,linq,group-by,C#,Linq,Group By,我很难表达这个问题,所以请容忍我,并请随时提出后续问题 我有一个Period对象,其他地方有一个函数,如下所示: public static bool PeriodApplies(Period period, DateTime date) 此函数获取一个对象,该对象描述一个重复周期(如计划班次或移动电话费率计划周期,即“白天”、“星期一从下午5:00到凌晨12:00”)和一个日期。如果日期在期间内,则返回true 现在,我有一个列表和一个列表,带有日期属性。如何输出词典使用以下方法如何: 如何
public static bool PeriodApplies(Period period, DateTime date)
此函数获取一个对象,该对象描述一个重复周期(如计划班次或移动电话费率计划周期,即“白天”、“星期一从下午5:00到凌晨12:00”)和一个日期。如果日期在期间内,则返回true
现在,我有一个列表
和一个列表
,带有日期
属性。如何输出词典使用以下方法如何:
如何使用:
像这样:
IDictionary<Period, IEnumerable<Interval>> dictionary =
periods.ToDictionary(p => p,
p => intervals.Where(i => PeriodApplies(p, i.Date)));
IDictionary字典=
期间。ToDictionary(p=>p,
p=>interval,其中(i=>period(p,i.Date));
第一部分给出键,第二部分确定值。像这样:
IDictionary<Period, IEnumerable<Interval>> dictionary =
periods.ToDictionary(p => p,
p => intervals.Where(i => PeriodApplies(p, i.Date)));
IDictionary字典=
期间。ToDictionary(p=>p,
p=>interval,其中(i=>period(p,i.Date));
第一部分给出键,第二部分确定值。我喜欢这个答案,因为它允许我创建一个带有参数谓词的泛型函数!我喜欢这个答案,因为它允许我创建一个带有参数谓词的泛型函数!