回答:
これを行う方法についてのページ全体がここにあります:
http://msdn.microsoft.com/en-us/library/bb531208.aspx
例:
次のコード例で
Dictionary<TKey, TValue>
は、a はタイプのインスタンスで初期化されていますStudentName
。
var students = new Dictionary<int, StudentName>()
{
{ 111, new StudentName {FirstName="Sachin", LastName="Karnik", ID=211}},
{ 112, new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317}},
{ 113, new StudentName {FirstName="Andy", LastName="Ruth", ID=198}}
};
Dictionary<int, string> dictionary = new Dictionary<int, string> {
{ 0, "string" },
{ 1, "string2" },
{ 2, "string3" } };
あなたはほとんどそこにいた:
var dict = new Dictionary<int, string>()
{ {0, "string"}, {1,"string2"},{2,"string3"}};
C#6以降では、次のように初期化できます。
var students = new Dictionary<int, StudentName>()
{
[111] = new StudentName {FirstName="Sachin", LastName="Karnik", ID=211},
[112] = new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317},
[113] = new StudentName {FirstName="Andy", LastName="Ruth", ID=198}
};
はるかにクリーナー:)
それが完全に機能することを願っています。
Dictionary<string, double> D =new Dictionary<string, double>();
D.Add("String", 17.00);
.Add(int, "string")
、辞書に値を追加する方法を実行したくないと具体的に述べました。申し訳ありませんが、これは質問の答えにはなりません。
これは一般的には推奨されませんが、不確実な危機の時に使用できます
Dictionary<string, object> jsonMock = new Dictionary<string, object>() { { "object a", objA }, { "object b", objB } };
// example of unserializing
ClassForObjectA anotherObjA = null;
if(jsonMock.Contains("object a")) {
anotherObjA = (ClassForObjA)jsonMock["object a"];
}