C# 在LINQ中连接两个列表,写入另一个列表

C# 在LINQ中连接两个列表,写入另一个列表,c#,linq,C#,Linq,我创建了一个linq select来连接两个列表 var materialneu = (from material in ma join mb5b in mb on material.Mat_matwerk equals mb5b.Mb5b_matwerk into grouping from mb5b2 in grouping.DefaultIfEmpty() select new {materia

我创建了一个linq select来连接两个列表

var materialneu =
        (from material in ma
        join mb5b in mb
        on material.Mat_matwerk equals mb5b.Mb5b_matwerk
        into grouping
        from mb5b2 in grouping.DefaultIfEmpty()
        select new {material, zugang = (mb5b2 == null ? string.Empty : mb5b2.Mb5b_zugang.ToString())}).ToList();
我没有收到任何错误,但是如果我通过
materialneu
,则
zugang
总是空的。。。
mb5b
绝对不是空的,还有
mb5b_zugang
。 此外,我更愿意在我的材料清单中填写一个字段,该字段已经存在(但尚未填写)。 这可能吗? 像

??
如果我这样尝试,它总是会给我一个错误。

我希望它能起作用:添加

var materialneu =
    (from material in ma
    Group join mb5b in mb
    on material.Mat_matwerk equals mb5b.Mb5b_matwerk
    into grouping        
    from mb5b2 in grouping.DefaultIfEmpty()
    select new {material, zugang = (mb5b2 == null ? string.Empty : mb5b2.Mb5b_zugang.ToString())}).ToList();

什么类型的材料是
材料。Mat_matwerk
mb5b.mb5b_matwerk
?@Grundy都是strings您确定
分组
不是空的吗?你能提供
material.matwerk'和'mb5b.mb5b_matwerk
的样本值吗?似乎你在
material
mb5b
Fck中没有相同的字符串,你完全正确。我不知道我怎么会错过在那里的失败,我想我是如此专注于林克,因为我第一次这么做,我很确定这就是问题所在。。。谢谢但是,有人知道是否可以像我上一个例子中那样设置material.zugang吗?谢谢你的回答,但是我在实际的linq上遇到了一个问题。我没有理解你。你是说你在linq之前遇到了问题?是的,linq是正确的,但是mb5b.mb5b_matwerk填错了,所以没有相等的项目:)我的错
var materialneu =
    (from material in ma
    Group join mb5b in mb
    on material.Mat_matwerk equals mb5b.Mb5b_matwerk
    into grouping        
    from mb5b2 in grouping.DefaultIfEmpty()
    select new {material, zugang = (mb5b2 == null ? string.Empty : mb5b2.Mb5b_zugang.ToString())}).ToList();