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

有人能告诉我为什么调试器将名为Date string变量处理为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", "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString(); //But this code gives an error since you cannot pass a string value to date.It makes no sense. 

在调试模式下查找变量值时,它按名称匹配,而不是按内存地址匹配。

我同意其他人,它可以做得更好,而且我已经在以前的版本中看到过这个问题 (至少2013年)。