J'ai une liste 2D de chaînes (liste de listes de chaînes). Je veux trier en fonction d'une colonne particulière.Tri de la liste 2D des chaînes
List<List<String>> matrix = new List<List<String>>();
matrix.Add(new List<String>());
matrix[0].Add("A");
matrix[0].Add("1");
matrix[0].Add("2");
matrix.Add(new List<String>());
matrix[1].Add("B");
matrix[1].Add("0");
matrix[1].Add("1");
matrix.Add(new List<String>());
matrix[2].Add("C");
matrix[2].Add("0");
matrix[2].Add("2");
matrix.Add(new List<String>());
matrix[3].Add("D");
matrix[3].Add("1");
matrix[3].Add("1");
Quand elle est triée en fonction de la colonne 2, il devrait ressembler à ceci:
Column 1 Column 2 Column 3
-------- -------- --------
B 0 1
C 0 2
A 1 2
D 1 1
Quand elle est triée en fonction de la colonne 3, il devrait ressembler à ceci:
Column 1 Column 2 Column 3
-------- -------- --------
B 0 1
D 1 1
A 1 2
C 0 2
Tri d'une colonne secondaire est appréciée mais pas nécessaire (lorsque la colonne 2 est la colonne primaire 3 est secondaire et vice versa). Dans mes exemples, les colonnes secondaires ne sont pas triées.
sont les numéros d'index que vous utilisez avec la matrice correcte? – Shekhar
@Shekhar: Je suppose que non. Cela semble une faute de frappe ... Fixe. –
Il n'y a pas beaucoup de détails à faire, mais il semble que le deuxième niveau de la liste serait mieux mis en œuvre en tant que classe ou Tuple –