Vb.net LINQ DefaultIfEmpty应返回具有空值的对象数组
我有一个LINQ查询:Vb.net LINQ DefaultIfEmpty应返回具有空值的对象数组,vb.net,linq,defaultifempty,Vb.net,Linq,Defaultifempty,我有一个LINQ查询: Dim JoinedResult = LeftTable.GroupJoin(RightTable, Function(LeftTableRow) LeftTableRow(FieldIndexInLeftTable), _ Function(RightTableRow) RightTableRow(FieldIndexInRightTable), _
Dim JoinedResult = LeftTable.GroupJoin(RightTable, Function(LeftTableRow) LeftTableRow(FieldIndexInLeftTable), _
Function(RightTableRow) RightTableRow(FieldIndexInRightTable), _
Function(LeftTableRow, RightTableRow) _
New With {LeftTableRow, RightTableRow}).SelectMany(Function(Rows) Rows.RightTableRow.DefaultIfEmpty().Select(Function(Right) New With {Rows.LeftTableRow, Right}))
LeftTable有5列,RightTable有2列
只有在前11行的情况下才有匹配:
问题是,我应该如何修改DefaultIfEmpty,即我得到一个包含两个元素的对象数组,其中每个元素都是空的,我们不说什么,主要的一点是,元素应该是空的
我应该这样做,RightTable的列号可以更改
谢谢
编辑:
我有解决办法
我创建了一个包含2个元素的对象数组:
Dim NullValue() As Object = Nothing
Array.Resize(NullValue, 2)
NullValue(0) = DBNull.Value
NullValue(1) = DBNull.Value
然后我在DefaultIfEmpty函数中使用它,如下所示:DefaultIfEmptyNullValue请将您的解决方案添加为答案,并将其标记为答案