我用vb写了这段代码:
expireDate = (DateTime.Parse(decal.DecalExpireDate).ToShortDateString).ToString现在我试着用c#写同样的代码,这是我想出来的:
expireDate = decal.DecalExpireDate.ToString();
expireDate = DateTime.Parse(expireDate).ToShortDateString();有谁知道如何简化c#代码,使其只有一行和两行。它困扰着我,我可以用vb在一行中完成,但不能在c#中完成。
decal.DecalExpireDate是我用linq检索的一个smallDateTime。expireDate是我在函数中返回的字符串
发布于 2012-03-10 03:06:11
几乎就是你在VB中遇到的那样:
expireDate = DateTime.Parse(decal.DecalExpireDate.ToString()).ToShortDateString();发布于 2012-03-10 03:05:16
expireDate = DateTime.Parse(decal.DecalExpireDate.ToShortDateString()).ToString();或者更好的是,
expireDate = decal.DecalExpireDate.Date.ToString();发布于 2012-03-10 04:00:07
这里不需要调用解析,因为您是从一个可以为空的DateTime (基于您的注释)开始的。实际上,如果您试图在日期为空时解析日期,您将收到一条错误消息。
只要贴花过期日期不为空,就可以执行此操作:
var expireDate = decal.DecalExpireDate.Value.ToShortDateString();不过,为了安全起见,您应该先检查是否为null:
var expireDate = decal.DecalExpireDate != null ? decal.DecalExpireDate.Value.ToShortDateString() : null;你可以在这里阅读更多关于可空类型的内容:http://msdn.microsoft.com/en-us/library/2cf62fcy.aspx。
https://stackoverflow.com/questions/9639569
复制相似问题