public class Filter
{
public int A { get; set; }
public int B { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
}
Filter
根据有时一个,有时是所有属性比较两个对象的最佳方法是什么?我的意思是我有Dictionary<Filter, string>
并且我需要找到所有KeyValuePairs
与使用过的过滤器兼容的东西,例如:
var f1 = new Filter(){A = 1}
var f2 = new Filter(){A = 1, Start = DateTime.Now, End = DateTime.AddHour(2)}
var dict = new Dictionary<...>()
dict.Add(new Filter(){A = 1}, "asdf");
dict.Add(new Filter(){A = 1}, Start = DateTime.Now.AddHours(-1), "qwerty");
现在使用f1
我想找到两者KeyValuePairs
,但使用f2
我只想找到第一个 KVP,因为Start
在第二个对象中不满足条件Start
+ End
from f2
(它在范围之外)
编辑 字典超出了这个问题的范围。它一定要是。我只需要比较机制。我不创建字典来做到这一点。我需要它来存储一些对我很重要的数据。