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見つけたいと思います+StartStartEndf2
EDIT Dictionary は、この質問の範囲外です。そうでなければなりません。比較のメカニズムだけが必要です。私はそれを行うために辞書を作成しません。私にとって重要なデータを保存するために必要です。