我有一个文档管理系统,其中文档可以有多个版本.保存每个版本,用户可以查看版本历史记录.
我想知道的是:我应该使用什么数据类型的版本号?十进制,浮点数还是双倍?我正在使用.NET和C#.
版本号从0.1开始,每个发布的主要版本将四舍五入到下一个整数.即0.4去1.0和1.3进行到2.0等
当版本号达到0.9并且添加了次要版本时,我希望当我添加它时,该数字将变为0.10而不是1.0.这是最大的问题.
任何建议表示赞赏.
谢谢.
我正在升级系统并正在浏览另一个开发人员代码(C#中的ASP.NET).
我遇到了这个:
private ReferralSearchFilterResults ReferralsMatched
{
get
{
if (Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] == null || Session[SESSION_REFERRAL_SEARCHFILTERRESULTS].GetType() != typeof(ReferralSearchFilterResults))
return null;
else
return (ReferralSearchFilterResults)Session[SESSION_REFERRAL_SEARCHFILTERRESULTS];
}
set
{
if (value == null)
{
Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] = value;
}
else if (value.GetType() == typeof(ReferralSearchFilterResults))
{
Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
检查设置器上的类型是否不必要?当然,如果我将属性设置为ReferralSearchFilterResults对象之外的其他东西,代码甚至不会编译?我错过了什么,或者我认为只要使用以下方法就可以实现:
set
{
Session[SESSION_REFERRAL_SEARCHFILTERRESULTS] = value;
}
Run Code Online (Sandbox Code Playgroud) 所以我在查看SQL Server中ISDATE()函数的文档,并在示例中看到了这一点:
SET DATEFORMAT mdy;
SELECT ISDATE('15/04/2008'); --Returns 0.
SET DATEFORMAT mdy;
SELECT ISDATE('15/2008/04'); --Returns 0.
SET DATEFORMAT mdy;
SELECT ISDATE('2008/15/04'); --Returns 0.
SET DATEFORMAT mdy;
SELECT ISDATE('2008/04/15'); --Returns 1.
Run Code Online (Sandbox Code Playgroud)
最后一个示例返回1(有效日期),但上面的日期格式与函数表达式中的格式不匹配.我认为这是文档中的一个错误,但后来好奇地尝试了它,它确实返回1.
那么为什么'2008/04/15'是日期格式为mdy的有效日期?
这里的文档:http://msdn.microsoft.com/en-us/library/ms187347(SQL.105).aspx