我有一组具有以下界面的对象:
public IEntity
{
public string Key1 { get; set; }
public string Key2 { get; set; }
... some other properties
}
并且正在寻找通过 linq 查询这些对象的内存集合的最佳策略。大多数查询(但不是全部)可能会寻找 Key1 或 Key2 来访问实体,所以我不确定查询它们的最高效方式是什么。我的想法是:
IList<IEntity>
只需将它们放在列表中,然后使用 linq 过滤它们
IDictionary<元组<字符串,字符串>,IEntity>
使用 key1 和 key2 创建一个多键字典,但如果我只知道一个部分,我不确定如何访问 IEntity?
别的东西
有没有其他更好的方法来实现这一目标?