C#では、キー値のペアのリストを含むオブジェクト型 'A'があります。C#で異なるリストを作成する
キー値のペアは、カテゴリ文字列と値文字列です。オブジェクト・タイプ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);
結局、私は、オブジェクトタイプのリストを持っていますし、私は私が唯一のユニークな値を取得するようにリストを操作したいです私はそれを国名だけに基づいています。したがって、リストが複数回表示されても、「国」、「米国」が1つだけになるようにリストを縮小します。
私はlinq Distinctを探していましたが、パラメータを定義することができず、タイプAの2つの同等のオブジェクトを捕捉できないように見えるので、私が望むことはしません。私は "Equals"メソッドをオーバーライドすることができますが、キー値のペアのうちの1つに基づいてリストを区別することは私の問題を解決しません。
'A'コンストラクタが見えますか? –
代わりにGroupByを使用してください。 –
"Country"は複数ありますが、値が異なる場合は許可されていますか? –