valor - return dictionary c#
¿Cómo insertar valores en C#Dictionary en instanciación? (7)
¿Alguien sabe si hay una forma en que puedo insertar valores en un diccionario de C # cuando lo creo? Puedo, pero no quiero, hacer dict.Add(int, "string")
para cada elemento si hay algo más eficiente como:
Dictionary<int, string>(){(0, "string"),(1,"string2"),(2,"string3")};
Espero que funcione a la perfección.
Dictionary<string, double> D =new Dictionary<string, double>(); D.Add("String", 17.00);
Estabas casi allí:
var dict = new Dictionary<int, string>()
{ {0, "string"}, {1,"string2"},{2,"string3"}};
Hay toda la página sobre cómo hacer eso aquí:
http://msdn.microsoft.com/en-us/library/bb531208.aspx
Ejemplo:
En el siguiente ejemplo de código, un
Dictionary<TKey, TValue>
se inicializa con instancias de tipoStudentName
:
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}}
};
Para que sepa que a partir de C # 6 ahora puede inicializarlo de la siguiente manera
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}
};
Mucho más limpio :)
Puede instanciar un diccionario y agregar elementos en él de esta manera:
var dictionary = new Dictionary<int, string>
{
{0, "string"},
{1, "string2"},
{2, "string3"}
};
También puede usar expresiones Lambda para insertar cualquier par de valores clave de cualquier otro objeto IEnumerable. La clave y el valor pueden ser del tipo que desee.
Dictionary<int, string> newDictionary =
SomeList.ToDictionary(k => k.ID, v => v.Name);
Lo encuentro mucho más simple ya que usas los objetos IEnumerable en todas partes en .NET
¡¡¡Espero que ayude!!!
Tad.
Dictionary<int, string> dictionary = new Dictionary<int, string> {
{ 0, "string" },
{ 1, "string2" },
{ 2, "string3" } };