sorte de tableau de chaîne à l'aide de LINQ
Je dispose d'un tableau de chaîne de déclarer en tant que ci-dessous
string[][] data = new string[3][];
string[] name = new string[10];
string[] contact = new string[10];
string[] address = new string[10];
Après avoir rempli les données de nom, d'adresse et de contact, l'adresse peut être une chaîne vide d'une partie des données. Après que je l'attribuer à la chaîne de données de tableau.
data[0] = name;
data[1] = contact;
data[2] = address
Comment je peux trier le tableau de chaîne par le nom à l'aide de LINQ. J'essaie
données = données.orderby(y => y[0]).ToArray();
mais ce type de changement de la séquence de la chaîne de tableau. Supposons que les données[0] est le nom du magasin, mais une fois le tri-elle devenue l'adresse du magasin.
Quelqu'un a idée de comment puis-je l'enregistrer? S'il vous plaît aider
- Cela semble un peu complexe pour une chose si simple. Il suffit de créer un class/struct pour stocker vos données et créer un tableau de cela. Il est beaucoup plus facile à trier et à traiter.
- L'utilisation de Données Tableau Liste
Vous devez vous connecter pour publier un commentaire.
Vous pouvez l'utiliser pour trier le nom du tableau (qui est stocké à
data[0]
):Par contre, les données stockées dans les autres tableaux de perdre tout sens de la corrélation pour le nom de tableau (par exemple,
name[3]
probablement pas correspondre aveccontact[3]
). Pour éviter cela,Je recommanderais fortement à l'aide d'une classe pour stocker cette information:
Pour déclarer le tableau, utilisez:
Et pour trier le tableau:
Ou ceci:
La deuxième option est plus efficace, car elle réorganise les éléments en place, et ne nécessite pas d'allouer un nouveau tableau pour stocker les résultats.
Ou vous pouvez également utiliser un
List<T>
:Et pour trier la liste:
Cela aura des performances similaires à la
Array.Sort
méthode, cependant, il est une meilleure option si vous avez besoin d'être en mesure d'ajouter ou de supprimer des éléments de votre liste de manière dynamique.