c#列表1中有一些列表2包含的记录,列表3必须有相应的0
本文关键字:列表 2包 记录 | 更新日期: 2023-09-27 18:14:03
我的c#列表包含object:
class Bot {
string name;
string oid;
}
new List with 2 bot named:
0, name = Pro, oid = 100
1, name = Noob, oid = 200
2, name = Tard, oid = 300
我也有一个列表,其中包含OID列表(通过一些奇怪的方式选择)列表如下:
0, 200
1, 300
我需要创建一个新的列表,像这样:
0,0
1,1
2,1
其中维护list 1索引,并且list 2与list 1的OID匹配,如果匹配则必须显示1,否则显示0。
我应该如何开始做这件事?
您可以使用来自Select
的重载,它也返回一个索引:
var result = myBots.Select((x, i) => new
{
Index = i,
Value = list2.Any(y => y.oid == x.oid) ? 1: 0
});
但是,您可以考虑使用boolean
而不是0或1来指示元素是否匹配:
var result = myBots.Select((x, i) => new
{
Index = i,
ContainedInOtherlist = list2.Any(y => y.oid == x.oid)
});