ViewDataDictionary
implementuje IDictionary<string, object>
.
IDictionary<string, object>
jest zasadniczo zbiorem KeyValuePair<string, object>
.
Twój inicjator ViewDataDictionary
(zewnętrzne nawiasy klamrowe) zawiera inny zestaw nawiasów klamrowych, który reprezentuje inicjator KeyValuePair<string, object>
.
Przyczyna tego jest wyjaśniona w this answer.
Możesz dodać kilka pozycji przecinkiem rozdzielając KeyValuePair<string, object>
inicjatorów:
var data = new ViewDataDictionary { { "Name", "Value" }, { "Name2", "Value2" } };
samo jak:
var data = new ViewDataDictionary
{
new KeyValuePair<string, object>("Name", "Value"),
new KeyValuePair<string, object>("Name2", "Value2")
};
Zasadniczo wewnętrzne szelki kręcone są ładne składnia inicjowanie KeyValuePair<string, object>
obiektów.
MSDN na inicjalizatorów zbiórki w [C#] (https://msdn.microsoft.com/en-us/library/bb384062.aspx) i [VB] (https://msdn.microsoft.com/en-us/library/dd293617.aspx) – KyleMit