cybers7119
Messages postés20Date d'inscriptionlundi 16 juin 2008StatutMembreDernière intervention19 janvier 2009
-
1 juil. 2008 à 13:39
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 2014
-
1 juil. 2008 à 15:03
Salut,
Je travaille en ce moment sur une liste contenant un tableau de string ( List<string[]> ).
Or, je souhaiterais trier cette liste en fonction d'un des éléments contenus dans le tableau de string ( par exemple, string[2] ).
Lorsque j'appelle la fonction Sort(), sans lui donner de paramètres, elle me renvoie une erreur.
cybers7119
Messages postés20Date d'inscriptionlundi 16 juin 2008StatutMembreDernière intervention19 janvier 20092 1 juil. 2008 à 13:42
Ah oui, j'ai oublié de préciser : le tableau de string contient en fait des DateTime que j'ai transformés en string.
Je souhaite les trier du plus ancien au plus récent.
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 1 juil. 2008 à 14:13
Bon, au cas où, je te propose un exemple:
1) Il te faut implémenter un classe dérivant de l'interface IComparer<> te permettant de donner la logique de ta comparaison:
Ex:
/// <summary>
/// Compareur de date au sein d'un string[]
/// </summary>
public class DateComparer : IComparer<string[]>
{
/// <summary>
/// Méthode permet de comparer
/// </summary>
/// Premier tableau de string
/// Second tableau de string
/// <returns>renvoie -1 si a[1] inférieur à b[1], 1 si supérieur, 0 si égal</returns>
public int Compare(string[] a, string[] b)
{
DateTime d1 = DateTime.Parse(a[1]);
DateTime d2 = DateTime.Parse(b[1]);
return d1.CompareTo(d2);
}
}
(A toi de gérer les exceptions, je te laisse faire ^^)
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 1 juil. 2008 à 14:17
Un p'tit conseil néanmoins, si tu souhaites gérer des dates dans une colonne, je te conseille de typé ton code.
Tu peux faire simplement une classe contenant "toutes les colonnes" (typées):
- string
- date
- int
- etc...
Et travailler avec un objet du type List<TaClasse>.
Ce sera plus pratique et plus facile à comprendre (et plus rapide dans l'exécution des traitements).
De plus, si tu souhaites ajouter une colonne, ce sera beaucoup plus simple
C'était une suggestion,
Billou_13
Vous n’avez pas trouvé la réponse que vous recherchez ?
cybers7119
Messages postés20Date d'inscriptionlundi 16 juin 2008StatutMembreDernière intervention19 janvier 20092 1 juil. 2008 à 14:23
En fait, mon tableau de string contient les quatre colonnes suivantes :
1) une DateTime que j'ai transformé en string (sous cette forme "12/21/2008")
2), 3), 4) juste du texte
Il n'y aura pas de colonnes à ajouter.
cybers7119
Messages postés20Date d'inscriptionlundi 16 juin 2008StatutMembreDernière intervention19 janvier 20092 1 juil. 2008 à 14:36
Génial, ta méthode sur DataComponer fonctionne !
Toutefois, connais-tu le moyen de faire ce filtre non pas sur un DateTime, mais sur un string contenant uniquement la date (sans l'heure), du genre "12/21/2008" ?