C# 要将谓词传递给方法以获得字典结果吗

C# 要将谓词传递给方法以获得字典结果吗,c#,dictionary,C#,Dictionary,基本上,我想把一个谓词传递给一个方法,这个方法会产生一个与特定Id关联的实体的词汇结果 public Dictionary<int, Room> GetRooms(Func<KeyValuePair<int, Room>, bool> predicate) { return _rooms.Where(predicate).ToDictionary<Room, int>(x => x.Key); } 公共字典GetRooms(Fu

基本上,我想把一个谓词传递给一个方法,这个方法会产生一个与特定Id关联的实体的词汇结果

public Dictionary<int, Room> GetRooms(Func<KeyValuePair<int, Room>, bool> predicate)
{
      return _rooms.Where(predicate).ToDictionary<Room, int>(x => x.Key);
}
公共字典GetRooms(Func谓词)
{
return _rooms.Where(谓词).ToDictionary(x=>x.Key);
}

有什么想法吗?

返回语句应该返回
Dictionary
,而不是
Dictionary
。您还需要选择该值,否则会得到一个
字典

return _rooms.Where(predicate).ToDictionary(x => x.Key, x => x.Value);