微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 字符串变量名称日期在调试器中很奇怪

有人能告诉我为什么调试器将名为Date的字符串变量处理为DateTime对象?

码:

public class HourRegistration
{
    public string Date { get; set; }
}

看屏幕截图:

使用.NET Framework 4.5,VS-2015

谢谢!

更新:

通过将代码减少到最小可能,我发现了明显的问题.

最小化代码

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DoSomething();
        }

        public static void DoSomething()
        {

            DateTime Date = DateTime.ParseExact("asdasd","dd/MM/yyyy",CultureInfo.InvariantCulture);
        }

        public class HourRegistration
        {
            public string Date { get; set; }
        }
    }
}

截图:

它是另一个与字符串完全相同的上下文中的另一个变量,调试器显示了另一个对象的详细信息(基于上下文)

解决方法

//There in your above question you are creating a new object with datatype as datetime and variable as Date but this Date is not the one you described in your model.For that you have to do something like below:


HourRegistration model = new HourRegistration ();
     model.Date = DateTime.ParseExact("asdasd",CultureInfo.InvariantCulture).ToString();

//But this code gives an error since you cannot pass a string value to date.It makes no sense.

原文地址:https://www.jb51.cc/csharp/99791.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐