如何解决如何使用 xamarin 在可为空的对象上设置值?
我试图显示可为空的对象。当变量变为空以显示 0 时。 我的对象是双重的?当这个对象为空时,他不会显示在显示器上。
当对象为 null 时,如何在此对象上设置 0?
我的 xaml 代码:
Label x:Name="SNowForecastFirstDay"
HorizontalTextAlignment="Center"
Grid.Row="2"
Grid.Column="4"
FontSize="15"
TextColor="White"
FontAttributes="Bold"/>
我的 C# 代码:
double? sNowForecastFirstDay = weatherBindingData.WeatherDataForecastHourly.List[0].SNowForecast.SNowForecastValue;
if (sNowForecastFirstDay == null)
{
SNowForecastFirstDay.Text = "SNow: 0mm";
}
else
{
SNowForecastFirstDay.Text = "SNow:" + weatherBindingData.WeatherDataForecastHourly.List[0].SNowForecast.SNowForecastValue.ToString() + "mm";
}
我尝试使用这个 if/else 语句,但我的标签没有显示在屏幕上。 具有空值的对象如何正确显示在显示器上?
解决方法
试试空合并运算符。
double? snowForecastFirstDay = weatherBindingData.WeatherDataForecastHourly.List[0].SnowForecast.SnowForecastValue ?? 0;
SnowForecastFirstDay.Text = "SNOW:" + snowForecastFirstDay + "mm";
,
根据给出的答案,我可以猜测问题不在于您的可空双精度数没有获得值,而在于您的标签。 给你的标签一个默认文本并评论你对值的编程更改,确保它被显示。 注意:在您的帖子中,您忘记了开始标记“
<Label x:Name="SnowForecastFirstDay"
Text="Default value for test"
HorizontalTextAlignment="Center"
Grid.Row="2"
Grid.Column="4"
FontSize="15"
TextColor="White"
FontAttributes="Bold"/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。