【问题标题】:DateTime working onUWP PC but not on UWP Raspberry Pi [duplicate]DateTime 在 UWP PC 上工作,但在 UWP Raspberry Pi 上不工作 [重复]
【发布时间】:2019-09-05 09:21:08
【问题描述】:

我已经使用 Windows 10 iot Core 在 Rpi 上为触摸屏构建了一个 UI。

当我在我的电脑上测试它时,它工作正常。如果我现在在 Raspberry 上测试软件,我会在这一行得到一个异常:

lblTime.Text = DateTime.Now.ToShortTimeString();
lblDay.Text = DateTime.Now.ToString("dddd");

它是“System.NullReferenceException”类型的异常,这意味着这个 DateTime.Now 是 null 对吗?

时间是在 Windows 设备门户上设置的,所以不知道为什么没有“现在”-时间

【问题讨论】:

  • 我会感到惊讶的是,DateTime 是一个不可为空的结构,所以必须在 null DateTime 实现这是不太可能的。我猜lblTimelblDaynull。设置断点并查看变量的值
  • 发布调用Exception.ToString() 时返回的完整异常文本。我很确定您会发现 lblTimelblDay 为空。 DateTime 是一个结构体,因此 non 可以为空。它的数据是a single UInt64 tick count,因此也不能为空

标签: c# uwp raspberry-pi3 windows-10-universal windows-10-iot-core


【解决方案1】:

我猜,lblTime 和/或lblDay 为空。

您可以通过使用空检查 (if(lblTime == null) {) 来简单地调试它

【讨论】:

  • “是的,这可能意味着 Now 为空” - 不,这并不意味着 DateTime 是不可为空的值类型。我同意您的期望,即 lblTimelblDay 更有可能为空,但值得从您的答案中删除第一句话 - 并将您的空检查修复为 C#,因为这是 OP 使用的语言。
【解决方案2】:

我现在找到了问题所在。这只是早期(主页方法中的一些第一行),后来一些代码运行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2017-03-15
    • 1970-01-01
    相关资源
    最近更新 更多