You need to enable JavaScript to run this app. Xamarin中如何判断可空对象是否为空以给Label设置指定文本
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin中如何判断可空对象是否为空以给Label设置指定文本

原代码不生效的原因

你只处理了test为null时的赋值逻辑,没有补充test有值时的文本赋值操作,所以非null场景下Label不会更新,看起来就像代码没生效。
另外还要注意链式调用过程中如果SnowForecast对象本身为null,会直接抛出空引用异常,你的代码没覆盖这类异常场景。

推荐实现方案

用C#的空条件运算符+空合并运算符可以一行搞定需求,代码更简洁也更安全:

// 加?.避免SnowForecast为null时抛空引用异常
double? test = weatherBindingData.WeatherDataForecastHourly.List[0].SnowForecast?.SnowForecastValue;
// ??会判断test是否有值,无值就用0替代,最后统一拼接单位
SnowForecast1Day.Text = $"{test ?? 0} mm";

如果需要保留if分支的写法,补全有值时的逻辑即可:

double? test = weatherBindingData.WeatherDataForecastHourly.List[0].SnowForecast?.SnowForecastValue;
if (!test.HasValue)
{
    SnowForecast1Day.Text = "0 mm";
}
else
{
    SnowForecast1Day.Text = $"{test.Value} mm";
}

内容的提问来源于stack exchange,提问作者Pizhev Racing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 02:42:04