gpt4 book ai didi

C# - DateTime.TryParse 问题 - 为什么它不喜欢我日期的字符串表示形式?

转载 作者:太空宇宙 更新时间:2023-11-03 21:41:28 25 4
gpt4 key购买 nike

这是我的代码:

            DateTime Dob = Convert.ToDateTime("1/1/1800");
DateTime Dod = Convert.ToDateTime("1/1/1800");

if (!DateTime.TryParse(p.birthday, out Dob) && !DateTime.TryParse(p.deathday, out Dod))
{
// handle error
}

p.birthday 是:

enter image description here

p.deathday 是:

enter image description here

.TryParse() 代码命中时,我的 Dob 的 DateTime 对象是:

enter image description here

Dod 的 DateTime 对象是:

enter image description here

问题:为什么 Dod 仍然是“1-1-1800”(我分配的初始值),但 Dob 设置正确?它不喜欢“2007-02-28”的 Dod 值吗?

最佳答案

DateTime.TryParse(p.birthday, out Dob) 成功地将 string 转换为 DateTime,因此它返回 true。你用 ! 反转它,给出 false。

当执行到 && 运算符时,它发现第一个操作数已经是 false,因此不会执行第二个操作数。

您可以预先执行两者,或者使用非快捷方式 AND 运算符 &

编辑:或者

if (!(DateTime.TryParse(p.birthday, out Dob) || DateTime.TryParse(p.deathday, out Dod)))
{
...
}

关于C# - DateTime.TryParse 问题 - 为什么它不喜欢我日期的字符串表示形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com