public class Filter
{
public int A { get; set; }
public int B { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
}
Filter
場合によっては 1 つのプロパティ、場合によってはすべてのプロパティに従って2 つのオブジェクトを比較する最良の方法は何ですか? 私が持っていることを意味し、使用されたフィルターと互換性のあるもの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
たいと思っていますが、2番目のオブジェクトでは条件を満たさないため、最初のKVPのみをf2
見つけたいと思います+Start
Start
End
f2
EDIT Dictionary は、この質問の範囲外です。そうでなければなりません。比較のメカニズムだけが必要です。私はそれを行うために辞書を作成しません。私にとって重要なデータを保存するために必要です。