有人能告诉我为什么调试器将名为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.