我尝试在Linq中使用Programme Reference字段连接两个Programme列表-列表A中的引用有时可能会在末尾附加“-R”,并且可能会在列表中出现两次(一次带有“-R”,另一次没有),而列表B中的引用根本不会附加“-R”。
在列表A中,每个记录有两行,我已经提到了,我得到了“长度不能小于零。”错误。下面是我的代码;
例如:
ListA
UG00001-2023
UG00001-2023-R
UG00002-2023
UG00002-2023-R
List B
UG00001-2023
UG00002-2023
个字符
所以,我试图实现的是,如果列表A中的Programme Ref中的一行在引用的末尾附加了“-R”,则返回“-R”之前的所有内容,但如果Programme Ref没有附加“-R”,则返回引用。
任何帮助将不胜感激。
1条答案
按热度按时间hfwmuf9z1#
您遇到的错误“Length cannot be less than zero”,可能是由于在未找到指定子字符串时对字符串调用
Substring
或IndexOf
造成的。要避免此错误并获得所需结果,您可以按如下方式修改LINQ查询:字符串
这种方法将处理列表A中的引用可能有也可能没有附加“-R”的情况,并相应地连接它们。