Qual a sintaxe do uso do Set em C#? (Collections)
É meio nojento, mas
Set abc = new HashSet();
em Java é mais ou menos
IDictionary<string, object> abc = new Dictionary<string, object>();
Porque não existem Sets, você é obrigado a usar Maps, mas com um valor qualquer (use null para economizar memória).
Existe o HashSet:
Mas ele não tem a interface separada.
Opaa mas eu so preciso da “nao duplicidade”, isso é a mesma coisa q no java né? O HashSet.
Sim, idêntico. Sinto falta do TreeSet.
Hum então nao tem uma coleção auto-ordenada
O método put(K,V) no C# é o Add? Como capturar chave e valor no C#? To pesquisando aqui mas ta foda :shock:
Você diz no caso do IDictionary? Use os [], como se fosse um array!
IDictionary<string, int> abc = new Dictionary<string, object>();
abc["Vinicius"] = 10;
abc["Everton"] = 20;
abc["Entanglement"] = 40;
int idadeEverton = abc["Everton"];
O mesmo vale para fazer a leitura.
[quote=ViniGodoy]Você diz no caso do IDictionary? Use os [], como se fosse um array!
IDictionary<string, int> abc = new Dictionary<string, object>();
abc["Vinicius"] = 10;
abc["Everton"] = 20;
abc["Entanglement"] = 40;
int idadeEverton = abc["Everton"];
O mesmo vale para fazer a leitura.
[/quote]
Puts Vini simples kkk, pra pegar a chave igual vc me passou com o Map.Entry tem algo parecido? Ou algo como keySet() que retorna as chaves.
Tem sim, é só iterar diretamente no mapa com o foreach.
Não estou com a sintaxe aqui, mas assim que pegar eu te passo.
Outra opção é usar o LinQ. Aí vc poderia até deixar o resultado ordenado pelos votos.
[quote=ViniGodoy]Tem sim, é só iterar diretamente no mapa com o foreach.
Não estou com a sintaxe aqui, mas assim que pegar eu te passo.
Outra opção é usar o LinQ. Aí vc poderia até deixar o resultado ordenado pelos votos.[/quote]
Hum iterando no Map com foreach ele me passa chave e valor ou so a chave? A opção do LinQ o foda é q nao sei muita coisa de sql =/
Em C# fica assim:
foreach (KeyValuePair<string, int> candidatoEntry in candidatos)
{
Console.WriteLine("Candidato: " + candidatoEntry.Key);
Console.WriteLine("Votos: " + candidatoEntry.Value);
}
[quote=ViniGodoy]Em C# fica assim:
foreach (KeyValuePair<string, int> candidatoEntry in candidatos)
{
Console.WriteLine("Candidato: " + candidatoEntry.Key);
Console.WriteLine("Votos: " + candidatoEntry.Value);
}
[/quote]
È isso ai mesmo que tava precisando
Vlw VIni!!!
Se quiser ordenar pelos votos:
[code]var votos = (
from kvp in candidatos
orderby kvp.Value
select kvp);
foreach (KeyValuePair<string, int> kvp in votos)
{
Console.WriteLine("Candidato: " + candidatoEntry.Key);
Console.WriteLine("Votos: " + candidatoEntry.Value);
} [/code]
[quote=ViniGodoy]Se quiser ordenar pelos votos:
[code]var votos = (
from kvp in candidatos
orderby kvp.Value
select kvp);
foreach (KeyValuePair<string, int> kvp in votos)
{
Console.WriteLine("Candidato: " + candidatoEntry.Key);
Console.WriteLine("Votos: " + candidatoEntry.Value);
} [/code]
[/quote]
Rs tenho que dar uma estudada nesse LinQ, recurso mto bacana.