gpt4 book ai didi

c# - 在 Linq 表达式中使用可空类型

转载 作者:太空狗 更新时间:2023-10-30 00:46:14 25 4
gpt4 key购买 nike

var quantSubset =
from userAns in userAnalysis.AllUserAnswers
join ques in userAnalysis.AllSeenQuestions on userAns.QID equals ques.QID
where (ques.QuestionType == "QT")
select new {
QuestionLevel = ques.LevelID,
TimeTaken = userAns.TimeTaken,
Points = userAns.Points,
UsedWeapon = (userAns.UsedBy2 && userAns.UsedHint),
WasCorrect = userAns.WasCorrect.HasValue ? userAns.WasCorrect.Value : null
};

在我的选择表达式中,我想选择一个可为 null 的类型 WasCorrect(表达式的最后一部分),但显然我不能按照我目前尝试的方式来做。

如何将 WasCorrect 设置为可空类型

我试过 ?WasCorrect 但在 Visual Studio 中也没有给出错误。

最佳答案

您需要将 null 值显式转换为可为 null 的类型:

WasCorrect = userAns.WasCorrect.HasValue ?
userAns.WasCorrect.Value : (TheTypeName?)null

否则 C# 将不知道条件表达式应该是哪种类型。

除此之外,代码完全是多余的。你可以简单地写:

WasCorrect = userAns.WasCorrect

关于c# - 在 Linq 表达式中使用可空类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3821054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com