Ordenar lista

¿Cómo ordena una lista alfanuméricamente por el valor en la cadena [0]?

Tratar

 list.Sort((s, t) => String.Compare(s[0], t[0])); 

Esto se ordenará lexicográficamente por el primer elemento de cada matriz en la list .

Ya que no sé exactamente lo que quiere decir con “alfanuméricamente”, si necesita una cadena personalizada que compare el enrutamiento, debe hacer esto:

 class MyStringComparer : IComparer { public int Compare(string s, string t) { // details elided } } 

y entonces

 var comparer = new MyStringComparer(); list.Sort((s, t) => comparer.Compare(s[0], t[0])); 

Echa un vistazo a este enlace aquí.

Tienen un muy buen ejemplo de la interfaz de IComparer. puede usar esto para crear su propio Comparador y ejecutar su lista a través de él.

Este es un ejemplo terriblemente simplificado / pseudo código … Realmente estirando aquí …

 MyclassZeroIndexComparer : IComparable, IList(Of String[]) { private List listOfStringArrays; //expose this as a public member somewhere... private List listofStringArrayZeroIndex; //internally store a list of only the first item you want to index.... //implement your own, add,remove,clear void Add(foo item) { listofStringArrays.Add(Item); listofStringArrayZeroIndex.add(item[0]); } // continue implementing other methods in the same manner. }