2013-07-30 3 views
5

リストがある場合List<KeyValuePair<string,string>> ex。キー/値ペアのリストを区別する方法

["abc","123"] 
["asc","123"] 
["asdgf","123"] 
["abc","123"] 

このリストをどのように区別できますか?

+3

値またはその両方によって、キーによる個別の –

+1

使用'List'ではなく' Dictionary'ですか? – Khan

+1

辞書は良い答えではありません:値または両方で区別されず、ANDの前に重複するキーの例外がありますdistinctin 'it ;-) –

答えて

12

KeyValue両方で個別:

Keyまたは Valueによって個別
var results = source.Distinct().ToList(); 

(ちょうどGroupByコールのプロパティ変更:?

var results = source.GroupBy(x => x.Key).Select(g => g.First()).ToList(); 
0

別個のペアを使用する場合はペアオブジェクト(ペアオブジェクト)を使用するか、別個のキーを使用する場合はマップ/ディクショナリを使用する必要があります。

+0

.NETには適切なSetコレクションがありますか? –

+2

'ISet 'はインタフェースで、 'HashSet 'は実装です。期待どおりに動作します。 – Jacob

+0

http://msdn.microsoft.com/en-us/library/bb359438.aspx .net3.5 + do – Robadob

関連する問題