我正在try 使用LINQ中的两个节目列表中的节目引用字段来连接这两个列表中的节目-列表A中的引用有时可能会在末尾附加"-R",并可能在列表中出现两次(一次带有"-R",另一次没有),而列表B中的引用永远不会有"-R".
在列表A中,如前所述,每条记录有两行,我得到的是"长度不能小于零".错误.以下是我的代码;
例如:
ListA
UG00001-2023
UG00001-2023-R
UG00002-2023
UG00002-2023-R
List B
UG00001-2023
UG00002-2023
var combinedList = from programmeA in ListA join programmeB in ListB on (programmeA?.REFERENCE.Substring(0,programmeA.REFERENCE.IndexOf("-R")) ?? programmeA.REFERENCE) equals programmeB?.REFERENCE ?? string.Empty
select new Programme()
{
...
}
所以,我试图实现的是,如果列表A中的Programme Ref中的一行在引用的末尾附加了"-R",则返回"-R"之前的所有内容,但如果Programme Ref没有附加"-R",则返回引用.
任何帮助都将不胜感激.