【发布时间】:2011-09-23 16:55:10
【问题描述】:
我一直在尝试找出处理默认值的最佳方法。将 ID 值设置为 0 是有意义的,但如果它是货币值或其他最初未设置的值,当您稍后在代码中遇到它时,无法判断它是否已设置或设置为 0。如果货币值设置为空,那么你知道它没有被设置。此外,在处理数据库时,很容易知道是否需要将空值写入字段,而不是试图弄清楚它是否应该为空。
处理此问题的公认方法是什么?
Class MyModel
{
public int Id {get;set;}
public string Title {get;set;}
public DateTime CreatedDate {get;set;}
public bool IsActive {get;set;}
//CLR will automatically set these values
Public MyModel()
{
Id = 0;
Title = String.Empty;
CreatedDate = "1/1/0001";
IsActive = false;
}
}
对
Class MyModel
{
public int? Id {get;set;}
public string Title {get;set;}
public DateTime? CreatedDate {get;set;}
public bool? IsActive {get;set;}
//CLR will automatically set these values
Public MyModel()
{
Id = null;
Title = null;
CreatedDate = null;
IsActive = null;
}
}
【问题讨论】:
标签: c# asp.net architecture