Classificar dicionário por valor em C#
-
Classifique o dicionário por valor com o método de lista em
C#
-
Classifique o dicionário por valor com o método Linq em
C#
Este tutorial apresentará métodos para classificar um dicionário por valor em C#.
Classifique o dicionário por valor com o método de lista em C#
O C# estrutura de dados do dicionário armazena dados na forma de pares chave: valor
. Infelizmente, não existe um método interno para classificar um dicionário por valor em C#. Temos que converter o dicionário em uma lista de tuplas e então ordenar a lista. O exemplo de código a seguir nos mostra como classificar um dicionário por valor com uma lista em C#.
using System;
using System.Collections.Generic;
using System.Linq;
namespace sort_dictionary_by_value {
class Program {
static void Main(string[] args) {
Dictionary<string, int> myDict = new Dictionary<string, int>();
myDict.Add("one", 1);
myDict.Add("four", 4);
myDict.Add("two", 2);
myDict.Add("three", 3);
var myList = myDict.ToList();
myList.Sort((pair1, pair2) => pair1.Value.CompareTo(pair2.Value));
foreach (var value in myList) {
Console.WriteLine(value);
}
}
}
}
Resultado:
[one, 1]
[two, 2]
[three, 3]
[four, 4]
Criamos o dicionário myDict
e classificamos pelo valor inteiro. Primeiro convertemos myDict
para a lista de tuplas myList
com a função ToList()
em C#. Em seguida, classificamos myList
com Linq e exibimos os valores.
Classifique o dicionário por valor com o método Linq em C#
Também podemos classificar diretamente um dicionário por valor, sem primeiro convertê-lo em uma lista. O Linq ou consulta integrada de linguagem é usado para realizar consultas semelhantes a SQL em C#. Podemos usar o Linq para classificar um dicionário por valor. O exemplo de código a seguir nos mostra como classificar um dicionário por valor com Linq em C#.
using System;
using System.Collections.Generic;
using System.Linq;
namespace sort_dictionary_by_value {
class Program {
static void Main(string[] args) {
Dictionary<string, int> myDict = new Dictionary<string, int>();
myDict.Add("one", 1);
myDict.Add("four", 4);
myDict.Add("two", 2);
myDict.Add("three", 3);
var sortedDict = from entry in myDict orderby entry.Value ascending select entry;
foreach (var value in sortedDict) {
Console.WriteLine(value);
}
}
}
}
Resultado:
[one, 1]
[two, 2]
[three, 3]
[four, 4]
Criamos o dicionário myDict
e o classificamos pelo valor inteiro com Linq em C#. Armazenamos o dicionário classificado dentro de sortedDict
e exibimos os valores.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn