Многократное встроенное сравнение при назначении значений свойствам объекта - PullRequest
0 голосов
/ 03 мая 2018

Я работаю над классом модели данных c #, создал экземпляр и присваиваю значения другому объекту. Я знаю о сравнении одной строки, но мне нужно несколько, я пробовал & & оператор, но компилятор жалуется на 'недопустимый оператор'. Я уверен, что я скучаю, уныло это должно быть просто!

var answerDataModel = new AnswerDataModel()
        {
            Id = answerId,
           //need help to 
            Value = AnswerDtoObject.Answers.FirstOrDefault() == null? && 
                    isSubQuestionExist == true ? "_SBQA" 
                    : AnswerDtoObject.Answers.FirstOrDefault(),

        };

если я удаляю "&& isSubQuestionExist == true?", То код работает

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

У вас ошибочный оператор ?. Просто объедините ваши сравнения в одном условном операторе:

Value = (AnswerDtoObject.Answers.FirstOrDefault() == null && isSubQuestionExist == true) ?
  "_SBQA" :
  AnswerDtoObject.Answers.FirstOrDefault()
0 голосов
/ 03 мая 2018
Value = (AnswerDtoObject.Answers.FirstOrDefault() == null) && 
                (isSubQuestionExist == true) ? "_SBQA" 
                : AnswerDtoObject.Answers.FirstOrDefault(),
...