У меня есть условие, которое я пишу, проверяя три вещи.
if(LoggedInMembershipUser == null || obj == null || boolVal)
в этом случае "LoggedInMembershipUser" - это только членство. GetUser(), "obj" - это некоторый случайный бизнес-объект, а "boolVal", очевидно, является логическим. Когда я пишу выражение, как указано выше, resharper говорит мне, что часть boolVal инструкции всегда ложна. Но когда я ставлю boolVal в начале, как ниже, я не получаю этого уведомления.
if(boolVal|| LoggedInMembershipUser == null || obj == null)
Почему первый всегда будет ложным, а второй - не?
EDIT: Это в привязке данных к строкам сетки. Сетка отображает результаты двух объектов с одним и тем же базовым классом, поэтому "obj" будет иметь значение, если это один из типов объектов, но не другой. boolVal - индикатор, для какого типа объекта это так, теперь, когда я думаю об этом, я думаю, если obj равно null, тогда boolVal всегда будет true. Был ли решар, понимая, что некоторые как? О, я уверен, это было потому, что я смотрел на мой код выше строки, которую у меня есть:
if (!uploaded){
var obj = GetObjectLogic();
}
Хорошо спасибо за комментарии к комментариям. Я думаю, это можно проголосовать за удаление или что-то еще.