首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# ToShortDateString

C# ToShortDateString
EN

Stack Overflow用户
提问于 2012-03-10 03:03:32
回答 5查看 6.6K关注 0票数 2

我用vb写了这段代码:

代码语言:javascript
复制
expireDate = (DateTime.Parse(decal.DecalExpireDate).ToShortDateString).ToString

现在我试着用c#写同样的代码,这是我想出来的:

代码语言:javascript
复制
expireDate = decal.DecalExpireDate.ToString();
expireDate = DateTime.Parse(expireDate).ToShortDateString();

有谁知道如何简化c#代码,使其只有一行和两行。它困扰着我,我可以用vb在一行中完成,但不能在c#中完成。

decal.DecalExpireDate是我用linq检索的一个smallDateTime。expireDate是我在函数中返回的字符串

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-10 03:06:11

几乎就是你在VB中遇到的那样:

代码语言:javascript
复制
    expireDate = DateTime.Parse(decal.DecalExpireDate.ToString()).ToShortDateString();
票数 1
EN

Stack Overflow用户

发布于 2012-03-10 03:05:16

代码语言:javascript
复制
expireDate = DateTime.Parse(decal.DecalExpireDate.ToShortDateString()).ToString();

或者更好的是,

代码语言:javascript
复制
expireDate = decal.DecalExpireDate.Date.ToString();
票数 2
EN

Stack Overflow用户

发布于 2012-03-10 04:00:07

这里不需要调用解析,因为您是从一个可以为空的DateTime (基于您的注释)开始的。实际上,如果您试图在日期为空时解析日期,您将收到一条错误消息。

只要贴花过期日期不为空,就可以执行此操作:

代码语言:javascript
复制
var expireDate = decal.DecalExpireDate.Value.ToShortDateString();

不过,为了安全起见,您应该先检查是否为null:

代码语言:javascript
复制
var expireDate = decal.DecalExpireDate != null ? decal.DecalExpireDate.Value.ToShortDateString() : null;

你可以在这里阅读更多关于可空类型的内容:http://msdn.microsoft.com/en-us/library/2cf62fcy.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9639569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档