我有一些代码看起来像这样,并从现有集合中创建一个列表
var items = items.ConvertAll(r => new
{
description = FormatDescription(r),
start = r.Milestone.HasValue ? r.Milestone.Value.ToString("yyyy-MM-ddTHH:mm:ssZ") : DateTime.Today.ToString("yyyy-MM-ddTHH:mm:ssZ"),
classname = "significance" + r.SignificanceLevel,
如您所见,如果我现在没有开始日期 (r.Milestone),那么我会输入今天的日期。如果说,我真正想做的是:
- 如果我有 r.Milestone.Hasvalue 显示该日期,如果我没有值,则完全不要在匿名类型中包含开始日期字段。
是否可以有这种条件逻辑,您可以在这种类型的代码中一起删除字段?
最佳答案
不,你不能,主要是因为它会使匿名类在不同的执行中有所不同,并且无法对类进行类型检查。
我建议将您的开始日期设置为 null 而不是默认值,并稍后在您的代码中检查它。
关于c# - 是否可以有一个匿名类型的条件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3090218/