【问题标题】:Exception of type 'System.InvalidOperationException' occurred in mscorlib.ni.dll but was not handledmscorlib.ni.dll 中出现“System.InvalidOperationException”类型的异常,但未处理
【发布时间】:2013-06-03 09:41:13
【问题描述】:

我收到这条消息:

"在 mscorlib.ni.dll 中发生了 'System.InvalidOperationException' 类型的异常,但在用户代码中没有处理"

当我的 TimePicker 留空时没有选择任何时间时,就会出现此问题。

我的 TimePicker 代码如下所示;

DateTime break1S = (DateTime)startBreak1.Value; 

在这一行我收到消息,但如果我为选择器设置时间,我不会收到消息。

有什么想法吗?

**

【问题讨论】:

  • startBreak1.Value; 还不是DateTime
  • startBreak1 是 TimePicker。
  • 是的,你提到过,但是typestartBreak1.Value
  • 那你为什么要投射它呢?

标签: c# datetime windows-phone-8 timepicker


【解决方案1】:

如果startBreak1.Value 是一个字符串:

if (startBreak1!= null) 
    DateTime.TryParse(startBreak1.Value, out break1S);

如果是Nullable<DateTime>(我认为是)

DateTime break1S = startBreak1.HasValue 
                          ? startBreak1.Value
                          : new DateTime()//or anything you want;

或接受break1S 可以为空:

var break1S = startBreak1;

【讨论】:

  • 我注意到我不需要没有价值。我可以将值设置为 00:00 但我如何使用代码来执行此操作,
  • aaaa 并循环到他发布的另一个问题 here
【解决方案2】:

解决方案如下所示:

DateTime break1S = startBreak1.Value.HasValue ? startBreak1.Value.Value : DateTime.MinValue;

【讨论】:

    【解决方案3】:

    你可以试试这个:

    DateTime break1S = startBreak1.Value.HasValue ? startBreak1.Value.Value : DateTime.MinValue;
    

    【讨论】:

    • 你刚刚复制了我写的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 2018-10-25
    • 2015-05-30
    • 1970-01-01
    相关资源
    最近更新 更多