Преобразование нулевого литерала в ненулевой C# 8 - PullRequest
0 голосов
/ 05 мая 2020

При включении C # 8 и нулевой ссылки теперь я получаю это предупреждение, элемент выделен с помощью Преобразования нулевого литерала или возможного нулевого значения в тип, не допускающий значения NULL. Класс rtGirdProp не имеет элементов, не допускающих значения NULL. Как это исправить?

enter code here
                foreach (rtGridProp item in items)
                {
                    shares = shares + item.rtTotalShare;
                    totalPrice = totalPrice + (item.rtTotalShare * item.rtAverage);
                }
                if (shares == 0)
                    this.AveragePrice = 0;
                else
                    this.AveragePrice = totalPrice / shares;

1 Ответ

0 голосов
/ 07 мая 2020

Только если вы уверены, что это не потенциально опасно (переменная, не допускающая значения NULL, назначенная из нулевого литерала или возможного нулевого значения, гарантированно не будет использоваться, пока не будет проверена / переназначена из другого ненулевого значения, или возможное нулевое значение в этот момент гарантированно будет ненулевым.),

вы можете пометить его как ненулевое значение с помощью завершающего !.

object a = null!;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...