在为对象属性赋值时进行多个内联比较

时间:2018-05-03 17:15:33

标签: c# .net-core-2.0

我正在研究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 :(得分:4)

您有一个错误的?运营商。只需将您的比较结合在一个条件运算符中:

Value = (AnswerDtoObject.Answers.FirstOrDefault() == null && isSubQuestionExist == true) ?
  "_SBQA" :
  AnswerDtoObject.Answers.FirstOrDefault()

答案 1 :(得分:3)

Value = (AnswerDtoObject.Answers.FirstOrDefault() == null) && 
                (isSubQuestionExist == true) ? "_SBQA" 
                : AnswerDtoObject.Answers.FirstOrDefault(),