J'ai un problème en essayant de convertir un dictionnaire en liste.
Exemple si j'ai un dictionnaire avec une chaîne de modèle comme clé et une chaîne comme valeur. Ensuite, je souhaite convertir la clé de dictionnaire en liste de collecte sous forme de chaîne.
Dictionary<string, string> dicNumber = new Dictionary<string, string>();
List<string> listNumber = new List<string>();
dicNumber.Add("1", "First");
dicNumber.Add("2", "Second");
dicNumber.Add("3", "Third");
// So the code may something look like this
//listNumber = dicNumber.Select(??????);
Pour convertir les clés en une liste qui leur est propre:
listNumber = dicNumber.Select(kvp => kvp.Key).ToList();
Ou vous pouvez le raccourcir sans même vous soucier d'utiliser select:
listNumber = dicNumber.Keys.ToList();
Alternativement:
var keys = new List<string>(dicNumber.Keys);
Si vous voulez utiliser Linq, vous pouvez utiliser l'extrait suivant:
var listNumber = dicNumber.Keys.ToList();
Si vous voulez convertir les clés:
List<string> listNumber = dicNumber.Keys.ToList();
sinon si vous voulez convertir des valeurs:
List<string> listNumber = dicNumber.Values.ToList();
foreach (var item in dicNumber)
{
listnumber.Add(item.Key);
}
Si vous voulez passer la collection de clés de dictionnaire dans un argument de méthode.
List<string> lstKeys = Dict.Keys;
Methodname(lstKeys);
-------------------
void MethodName(List<String> lstkeys)
{
`enter code here`
//Do ur task
}