重複の可能性:
.NETディクショナリのキーが重複していますか?
を作成する必要がありますCollection<string,object>
。1つは文字列で、もう1つはオブジェクトです。一意の項目がないため、辞書を使用できません。
作成する方法はありますList<T,T>
か?単一のforeachループで使用するためだけに、両方の値を保持するオブジェクトを作成したくないためです。
ありがとう
重複の可能性:
.NETディクショナリのキーが重複していますか?
を作成する必要がありますCollection<string,object>
。1つは文字列で、もう1つはオブジェクトです。一意の項目がないため、辞書を使用できません。
作成する方法はありますList<T,T>
か?単一のforeachループで使用するためだけに、両方の値を保持するオブジェクトを作成したくないためです。
ありがとう
試してみてくださいList<Tuple<string, object>>
。次に、リストで通常のlinqサポートを取得して、それぞれで取得できますTuple<string, object>
。
このTuple<,>
クラスは.NET4以降で利用できますが、あまり面倒なことなく、独自のタプルタイプを簡単に模倣できます。
タプルはアイテムの値に基づいて等しいと見なされると思いますが、object
これを使用すると、参照が等しい可能性が高く、したがって等しくない可能性があります...それが理にかなっている場合!
平等に関する詳細はこちら:
アップデート:
ルックアップの目的でアイテムのリストをキーに関連付ける必要がある場合、重複する質問の回答はLookup
クラス(この場合はLookup<string, object>
)を正しく強調表示します。これにより、意図が。よりも少し明確になりますList<Tuple<string, object>>
。
あなたが使用することができます
List<KeyValuePair<string,object>>
また
Dictionary<string,List<object>>
カスタムクラスを作成して使用してみてください
class KeyValue<Tkey,TValue>
{
public Tkey Key {get;set;}
public TValue Value {get;set;}
}
のように使用
List<KeyValue<string,string>> list = new List<KeyValue<string,string>>();
たぶん、 Tupleクラスを使用してタプルのリストを作成できますか?そのようなもの:
List<Tuple<String, Object>> list = new List<Tuple<String, Object>>();
.NET 4を使用している場合は、タプル(http://msdn.microsoft.com/en-us/library/system.tuple.aspx)オブジェクトを使用できます。
var list = new List<Tuple<string, object>>();
以前のバージョンの.NETを使用している場合は、Tupleクラスを自分で実装できます。.NETFramework3.5のTuple(.NET 4)と同等です。
「Groupby」を使用して、グループ化された結果を辞書に変換することを検討しましたか?