我有以下课程:
public class QuestionDetail
{
public int ProblemId { get; set; }
public int QuestionId { get; set; }
public string Answer { get; set; }
}
public class QuestionResponseToClient
{
public int? ProblemId { get; set; }
public int? QuestionId { get; set; }
public string Text { get; set; }
}
我用的是int?因为如果用户不是管理员角色,我希望能够向客户端返回空值。
在我的代码中,我通过以下方式检查:
bool adminUser = User.IsInRole("Admin");
然后我创建一个新对象,如下所示:
var questionResponseToClient = new QuestionResponseToClient
{
QuestionId = (adminUser == true) ? questionDetails.QuestionId : null,
...
...
但这失败并显示以下消息:
错误 1 无法确定条件表达式的类型,因为 'int' 和 '' 之间没有隐式转换
有人可以就为什么会发生这种情况给我一些建议吗?