如何在LINQ查询C中设置可空Guid值#

如何在LINQ查询C中设置可空Guid值#,linq,guid,.net-core-2.0,Linq,Guid,.net Core 2.0,我有一个可以标记为空的Guid public struct abc { public Guid Id { get; set; } public Guid? PreviousCalculatedId { get; set; } public Guid? NextCalculatedId { get; set; } } 但我在LINQ查询中得到了针对上一个CalculatedId和下一个CalculatedId的构建错误 错误 试试这个 var answerDataVie

我有一个可以标记为空的Guid

public struct abc
{
    public Guid Id { get; set; }
    public Guid? PreviousCalculatedId { get; set; }
    public Guid? NextCalculatedId { get; set; }
}
但我在LINQ查询中得到了针对上一个CalculatedId和下一个CalculatedId的构建错误

错误

试试这个

var answerDataView = (from Calc in dbContext.Calculation
                      where Calc .abcId == abcId && Calc .Id == GivenCalcId
                      select new abc
                      {
                            Id = mylist.listedItemId,
                            Text = Calc .Value,
                            NextCalculatedId = sortedAnswerList.ItemOnRight[0] ?? null,
                            PreviousCalculatedId = sortedAnswerList.ItemOnLeft.ElementAt(0) ?? null,
                       });
试试这个

var answerDataView = (from Calc in dbContext.Calculation
                      where Calc .abcId == abcId && Calc .Id == GivenCalcId
                      select new abc
                      {
                            Id = mylist.listedItemId,
                            Text = Calc .Value,
                            NextCalculatedId = sortedAnswerList.ItemOnRight[0] ?? null,
                            PreviousCalculatedId = sortedAnswerList.ItemOnLeft.ElementAt(0) ?? null,
                       });

您得到了什么错误?另外,我认为在赋值时不需要可为null的运算符(?),只需省略iterror is就可以了,它不能隐式地将类型system.Guid转换为Bool ItemOnRight和ItemOnleft的数据类型是什么?它们是列表您是否删除了问号并重新构建了项目?我认为这个问题是由于马克的问题,你犯了什么错误?另外,我认为在赋值时不需要可为null的运算符(?),只需省略iterror is就可以了,它不能隐式地将类型system.Guid转换为Bool ItemOnRight和ItemOnleft的数据类型是什么?它们是列表您是否删除了问号并重新构建了项目?我认为问题是由于markI get error“运算符??不能应用Guid或Null类型的操作数您的sortedAnswerList是否包含元素?这些元素是否可以为Null?是否可能..是的,您是对的,我需要将Guid的值设置为公共堆栈ItemOnLeft{get;set;}公共列表项OnRight{get;set;}我得到了错误“运算符??无法应用Guid或Null类型的操作数sortedAnswerList是否包含元素?这些是可以为空的吗?是可能的。。是的,您是对的,我需要将Guid的值设置为公共堆栈ItemOnLeft{get;set;}公共列表ItemOnRight{get;set;}
var answerDataView = (from Calc in dbContext.Calculation
                      where Calc .abcId == abcId && Calc .Id == GivenCalcId
                      select new abc
                      {
                            Id = mylist.listedItemId,
                            Text = Calc .Value,
                            NextCalculatedId = sortedAnswerList.ItemOnRight[0] ?? null,
                            PreviousCalculatedId = sortedAnswerList.ItemOnLeft.ElementAt(0) ?? null,
                       });