在 C# LINQ 查询中的 ToString 转换

标签: Linq C#
发布时间: 2017/2/28 22:32:43
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我在 (最有可能是一个微不足道的问题) 和 C# 中的字符串比较

我运行这个 LINQ 查询

var result = from q in Table
             where q.ValueDate.ToString() == "12/11/2014 12:00:00 AM"
             select q;

和让空响应

然而,当试着

foreach (var i in Table)
{
    Console.WriteLine(i.ValueDate.ToString());
}

我得到

12/11/2014 12:00:00 AM
12/11/2014 12:00:00 AM
12/11/2014 12:00:00 AM
12/11/2014 12:00:00 AM

在做什么在这里错了?

解决方法 1:

我不会牺牲日期类型安全,将其转换为字符串-什么可能发生的事情是, ToString() 被转换为 * Char 类型通过 CAST / CONVERT 的 DB 中导致不同的格式。这里是怎么它︰

var checkDateTime = new DateTime(2014, 11, 12);
var result = from q in Table
          where q.ValueDate == checkDateTime
          select q;
赞助商