可空DateTime是否和AddDays()扩展 [英] Nullable DateTimes and the AddDays() extension
本文介绍了可空DateTime是否和AddDays()扩展的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个DateTime变量,可以为空或日期时间。我想一个可空DateTime类型的工作,但我得到一个错误,告诉我,说:
可空< DateTime的>
不具有AddDays定义
。有没有什么办法可以解决这个问题?
日期时间? lastInvite =(DateTime的?)会话[LastInviteSent];如果
((字符串)会议[InviteNudgeFlag] ==假&放大器;及((lastInvite == NULL和放大器;&放大器; DateTime.Now> = AcctCreation.AddDays(7) )||(INT)会议[InviteCount]大于0和放大器;&放大器; DateTime.Now> = lastInvite.AddDays(7)))
{
//非重要的位置代码
}
解决方案
您应该考虑尝试让你的逻辑更可读:
VAR inviteNudgeFlag = bool.Parse((字符串)会议[inviteNudgeFlag]);
如果(inviteNudgeFlag!)
{
的回报;
}
VAR lastInvite =(DateTime的?)会话[LastInviteSent];
VAR inviteCount =(int)的会议[InviteCount];
VAR numOfDays = 7;
变种现在= DateTime.Now;
VAR weekSinceLastInvite = lastInvite.HasValue
?现在> = lastInvite.Value.AddDays(numOfDays)
:现在> = AcctCreation.AddDays(numOfDays);
VAR hasInvites =!lastInvite.HasValue || inviteCount> 0;
VAR canInvite = hasInvites&放大器;&安培; weekSinceLastInvite;
如果(canInvite!)
{
的回报;
}
I have a DateTime variable that can either be null or a Datetime. I figured a nullable DateTime type would work, but I am getting an error telling me that said
Nullable<DateTime>
does not have a definition for AddDays
. Is there any way to resolve this error?
DateTime? lastInvite = (DateTime?)Session["LastInviteSent"];
if ((string)Session["InviteNudgeFlag"] == "False" && ((lastInvite == null && DateTime.Now >= AcctCreation.AddDays(7)) || (int)Session["InviteCount"] > 0 && DateTime.Now >= lastInvite.AddDays(7)))
{
// Non important code here
}
解决方案
You should consider trying to make your logic more readable:
var inviteNudgeFlag = bool.Parse((string) Session["InviteNudgeFlag"]);
if(!inviteNudgeFlag)
{
return;
}
var lastInvite = (DateTime?) Session["LastInviteSent"];
var inviteCount = (int) Session["InviteCount"];
var numOfDays = 7;
var now = DateTime.Now;
var weekSinceLastInvite = lastInvite.HasValue
? now >= lastInvite.Value.AddDays(numOfDays)
: now >= AcctCreation.AddDays(numOfDays);
var hasInvites = !lastInvite.HasValue || inviteCount > 0;
var canInvite = hasInvites && weekSinceLastInvite;
if(!canInvite)
{
return;
}
这篇关于可空DateTime是否和AddDays()扩展的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文