微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 xamarin 在可为空的对象上设置值?

如何解决如何使用 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 举报,一经查实,本站将立刻删除。