Типы, допускающие значение NULL, в C# и проблема ранней остановкиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Типы, допускающие значение NULL, в C# и проблема ранней остановки

Сообщение Anonymous »

В C# при наличии объектов, допускающих значение NULL, таких как Decimal?, Int? и т. д. При выполнении проверок на значение NULL, но с ранней остановкой.
Компилятор не отслеживает значение NULL такого объекта (в данном случае prevMaxSpeed) выходит за рамки оператора if. Есть ли лучший способ сделать это?
Это всего лишь небольшой упрощенный фрагмент более сложного кода, я не хочу использовать вложенные операторы if, чтобы исправить это, из-за проблемы с читабельностью.
Я знаю, что могу просто применить это, но чувствую, что это излишне.
foreach (var something in somethings)
{
var prevMaxSpeed = something.FirstOrDefault(x => x != null)?.speed;

// early stopping
if (!prevMaxSpeed.HasValue && !prevMaxSpeed.IsDefaultValue())
{
HandleMaxSpeedNoValue();
continue;
}

sp.SP_Characteristics.StaticSpeedProfile.First().StaticSpeedProfileStart = new SSP_ComplexType()
{
SSP_Speed = prevMaxSpeed, // "Cannot implicitly convert type 'decimal?' to 'decimal'. An explicit conversion exists (are you missing a cast?)"
SSP_SpeedSpecified = true,
};
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... ping-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обнуляемые типы и проблема ранней остановки
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Обнуляемые типы и проблема ранней остановки
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Обнуляемые типы и проблема ранней остановки
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • C#: универсальные типы, допускающие значение NULL, неожиданное поведение
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • C#: универсальные типы, допускающие значение NULL, неожиданное поведение
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»