Usuário com melhor resposta
Dictionary com três argumentos(ou é variáveis)

Pergunta
-
Boa tarde. Tava vendo um exemplo em que a pessoa fez da seguinte forma:
Dictionary<string, int> Pessoas = new Dictionary<string, int>()
{
{ "Nelson Silva", 21},
{ "Maria Celeste", 37},
};
Pessoas.Add("Pedro Henrique", 52);
Pessoas.Add("Raquel Soares", 68);Minha dúvida é se tem como fazer da seguinte maneira:
Dictionary<string, int, Decimal> Pessoas = new Dictionary<string, int, Decimal>()
Fui fazer mas parece que o C# não aceita assim.
Alguém pode me explicar?
Respostas
-
Bom dia JOSÉ ANTUNES COELHO,
Vou te explicar o porquê você não consegue realizar isso.
O dictionary, trabalha com o conceito de chave e valor, já ouviou falar de json, é a mesma coisa.
Logo um dos resultados é o valor e o outro é a chave que serve para representar esse valor.
Sugiro a leitura do KB da Microsoft sobre isso:
Classe Dictionary<tkey, tvalue></tkey, tvalue>
Att., Roberto Alves
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.- Editado Roberto AB Filho segunda-feira, 22 de maio de 2017 14:40
- Sugerido como Resposta SammuelMiranda segunda-feira, 22 de maio de 2017 17:09
- Marcado como Resposta Guilherme Macedo SModerator quinta-feira, 25 de maio de 2017 16:24
Todas as Respostas
-
Bom dia JOSÉ ANTUNES COELHO,
Vou te explicar o porquê você não consegue realizar isso.
O dictionary, trabalha com o conceito de chave e valor, já ouviou falar de json, é a mesma coisa.
Logo um dos resultados é o valor e o outro é a chave que serve para representar esse valor.
Sugiro a leitura do KB da Microsoft sobre isso:
Classe Dictionary<tkey, tvalue></tkey, tvalue>
Att., Roberto Alves
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.- Editado Roberto AB Filho segunda-feira, 22 de maio de 2017 14:40
- Sugerido como Resposta SammuelMiranda segunda-feira, 22 de maio de 2017 17:09
- Marcado como Resposta Guilherme Macedo SModerator quinta-feira, 25 de maio de 2017 16:24
-
O que você pode fazer josé?
Viu o que o Roberto explicou? É exatamente isso, no entanto você pode contornar o problema trabalhando o Valor.Você pode usar um "KeyValuePair<int, decimal>" ou escrever uma classe/estrutura e fazer o dicionário como:
public struct MatriculaSalario { public int Matricula { get; set; } public decimal Salario { get; set; } public MatriculaSalario(int Mat, decimal Sal) : this() { this.Matricula = Mat; this.Salario = Sal; } }
E ai usar:
Dictionary<string, MatriculaSalario> PessoasStruct; //Ou Dictionary<string, KeyValuePair<int, decimal>> PessoasKeyPair;
Entendeu?
- Sugerido como Resposta SammuelMiranda segunda-feira, 22 de maio de 2017 17:09
-
Bom dia,
Por falta de retorno esta thread esta encerrada !
Por gentileza, caso necessário abra uma nova thread.
Atenciosamente,
Guilherme Macedo S
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
TechNet Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.