J'ai ce List<string>
:
IList<string> ListaServizi = new List<string>();
Comment puis-je le commander par ordre alphabétique et croissant?
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
Vous pouvez utiliser Sort
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
D'autres réponses sont correctes pour suggérer Sort
, mais elles semblent avoir oublié le fait que l'emplacement de stockage est saisi sous la forme IList<string
. Sort
ne fait pas partie de l'interface.
Si vous savez que ListaServizi
contiendra toujours un List<string>
, vous pouvez modifier son type déclaré ou utiliser un transtypage. Si vous n'êtes pas sûr, vous pouvez tester le type:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Peut-être plus idiomatique:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Si vous savez que ListaServizi
aura parfois une implémentation différente de IList<string>
, laissez un commentaire et j'ajouterai une ou deux suggestions pour le trier.
ListaServizi.Sort();
Fera cela pour vous. C'est assez simple avec une liste de chaînes. Vous devez être un peu plus intelligent si vous triez des objets.
List<string> myCollection = new List<string>()
{
"Bob", "Bob","Alex", "Abdi", "Abdi", "Bob", "Alex", "Bob","Abdi"
};
myCollection.Sort();
foreach (var name in myCollection.Distinct())
{
Console.WriteLine(name + " " + myCollection.Count(x=> x == name));
}
sortie: Abdi 3 Alex 2 Bob 4