我有以下代码:
[DisplayName("Created")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? Created { get; set; }
[DisplayName("Modified By")]
public string ModifiedBy { get; set; }
[DisplayName("Modified")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? Modified { get; set; }
from d in data
select new Content.Grid
{
PartitionKey = d.PartitionKey,
RowKey = d.RowKey,
Order = d.Order,
Title = d.Title,e
Created = d.Created,
CreatedBy = d.CreatedBy,
Modified = d.Modified,
ModifiedBy = d.ModifiedBy
};
d.Created
,d.CreatedBy
,d.Modified
和d.ModifiedBy
可能为空。
如何设置它以便如果它们为null,则select为n/a
和CreatedBy
返回ModifiedBy
并返回{{1}的日期January, 1, 2012
}和Created
?
答案 0 :(得分:10)
您可以使用null-coalescing operator(??
)为可为空的值类型或引用类型提供默认值:
from d in data
select new Content.Grid
{
PartitionKey = d.PartitionKey,
RowKey = d.RowKey,
Order = d.Order,
Title = d.Title,e
Created = d.Created ?? new DateTime(2012,1,1),
CreatedBy = d.CreatedBy ?? "n/a",
Modified = d.Modified ?? new DateTime(2012,1,1),
ModifiedBy = d.ModifiedBy ?? "n/a"
};