tengo la clase siguiente:ordenar una lista por orden alfabético
class Detail
{
public Detail()
{
_details = new List<string>();
}
public IList<string> Details { get { return _details; } }
private readonly List<string> _details;
}
Actualmente en cierto modo me la clase al azar usando la siguiente:
void ShuffleGenericList<T>(IList<T> list)
{
//generate a Random instance
var rnd = new Random();
//get the count of items in the list
var i = list.Count();
//do we have a reference type or a value type
T val = default(T);
//we will loop through the list backwards
while (i >= 1)
{
//decrement our counter
i--;
//grab the next random item from the list
var nextIndex = rnd.Next(i, list.Count());
val = list[nextIndex];
//start swapping values
list[nextIndex] = list[i];
list[i] = val;
}
}
Lo que me gustaría hacer es ordenar el contenido de detalles en orden alfabético
Así por ejemplo, si el contenido el siguiente aspecto:
[0] a
[1] d
[2] b
Quiero ser capaz de ejecutar este método y hacer que se clasifican en:
[0] a
[1] b
[2] d
¿Alguien sabe de una manera sencilla ¿para hacer esto? Tenga en cuenta que las listas generalmente tienen menos de diez entradas en ellos. ¿Puedo hacer esto con LINQ? Lo siento pero no estoy muy familiarizado con LINQ. Acabo de escuchar una sugerencia de que podría usar eso.
Entonces, si quisiera ordenar la lista que creó anteriormente, ¿solo tendría que decir: sortedList.Sort? – Mariko
Probé la ordenación pero no puedo conseguir que funcione. Mi lista es así: IList nD. Intenté nD.Sort() pero dice: No puedo resolver el símbolo 'Ordenar'. –
Mariko
@Mariko: Use '_details.Sort()' en su lugar, ya que '_details' se declara como' List 'en lugar de' IList '. 'Sort' solo se declara en' List ', no' IList '. –