我有2个类和2个IEnumerable列表:
public class Values
{
public int value {get;set;}
public DateTime someDate {get;set;}
}
public class Holidays
{
public DateTime holiday {get;set;}
}
IEnumberable<Values> values;
IEnumberable<Holidays> holidays;
Run Code Online (Sandbox Code Playgroud)
接下来,我试图选择'someDate'不在'假期'中的'值'
var query = values.Where(x=> !holidays.Contains(x.someDate));
Run Code Online (Sandbox Code Playgroud)
但是,这给了我IEenumerable的错误,它不包含'Contains'的定义.
System.Linq已添加到使用中.
我相信这必须对收藏品做些什么,但我无法弄清楚是什么.
我有以下主列表:
[
{'entity': 'Country', 'cnt': 4},
{'entity': 'State', 'cnt': 3},
{'entity': 'City', 'cnt': 2}
]
Run Code Online (Sandbox Code Playgroud)
注意实体的顺序。
我希望根据第一个列表中实体的顺序订购另一个列表。
第二个名单:
[
{'entity': 'State', 'values': 'AK'},
{'entity': 'Country', 'values': 'USA'}
]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
[
{'entity': 'Country', 'values': 'USA'},
{'entity': 'State', 'values': 'AK'}
]
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
secondList.sort(key=lambda x: firstList.index(x["entity"]))
Run Code Online (Sandbox Code Playgroud)
但是,它给了我一个错误,因为在第二个列表中找不到 City。
有人可以告诉我我在这里做错了什么吗?