在 C# 中,我有一个包含键值对列表的对象类型“A”。
键值对是一个类别字符串和一个值字符串。
要实例化对象类型 A,我必须执行以下操作:
List<KeyValuePair> keyValuePairs = new List<KeyValuePair>();
keyValuePairs.Add(new KeyValuePair<"Country", "U.S.A">());
keyValuePairs.Add(new KeyValuePair<"Name", "Mo">());
keyValuePairs.Add(new KeyValuePair<"Age", "33">());
A a = new A(keyValuePairs);
最终,我将有一个 A 对象类型列表,我想操作该列表,以便我只获得唯一值并且我只基于国家名称。因此,我希望列表减少到只有一个“国家”、“美国”,即使它出现不止一次。
我正在研究 linq Distinct,但它没有做我想要的,因为它我无法定义任何参数,而且它似乎无法捕获两个 A 类型的等效对象。我知道我可以覆盖"Equals" 方法,但它仍然不能解决我的问题,即根据一个键值对来呈现不同的列表。