Cacul avec date

termitus19 Messages postés 83 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 23 juin 2021 - 27 oct. 2018 à 03:17
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 28 oct. 2018 à 09:17
Bonjour , je suis planté depuis des jours sur un problème
j'ai récupéré une liste de date dans mon base de données
et je veux comparer la date système (DateTime.Now) avec la liste de date récupérer dans la base
en comparant la date système et les éléments de la liste
s'il trouve une date semblable à celle du système ,je l'affiche sinon affiche aucune date trouvée


merci pour votre aide déjà

3 réponses

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
27 oct. 2018 à 07:32
Bonjour
Et t’as essayé quoi comme code ?
0
termitus19 Messages postés 83 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 23 juin 2021
27 oct. 2018 à 14:45
un
0
mon code
string date=DateTime.Now .ToShortDateDtring();
List<jeu> je=new List<jeu>();
je=jeuxControleur.Getdate();
foreach(jeu jeuItem in je){
if(jeuItem.Contains(date)){
Console.WriteLine("date trouvée "+jeuItem);
}else{
Console.Writeline(" aucune date trouvée ");
}


}
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
28 oct. 2018 à 09:09
Alors d'abord sur l'utilisation du site, la bonne façon de se servir de la coloration syntaxique est décrite là
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ceci est quand bien plus lisible que ton carré tout gris, sans numéros de lignes ni ascenseurs:
string date=DateTime.Now .ToShortDateDtring();
List<jeu> je=new List<jeu>();
je=jeuxControleur.Getdate();
foreach(jeu jeuItem in je)
{
     if(jeuItem.Contains(date))
        {
             Console.WriteLine("date trouvée "+jeuItem);
        }
       else
       {
            Console.Writeline(" aucune date trouvée ");
       }

Et en C#, les conventions d'écriture font qu'une accolade est ouverte à la ligne suivante, pas comme en Java par exemple.

Ensuite quand je te pose une question, utlise les réponses et non les commentaires, un commentaire ça sert à apporter un truc supplémentaire à une réponse.


0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
28 oct. 2018 à 09:17
Sur ton code maintenant.

List<jeu> je=new List<jeu>();//ici tu crées une variable, et tu crées une liste
je=jeuxControleur.Getdate();//et ici tu affectes une autre liste à la variable


Donc tu prends du temps à créer un espace mémoire et tu utilises un espace mémoire déjà créé, en terme d'optimisation c'est pas bon:
  • perte de temps
  • utilisation inutile de la mémoire
  • travail supplémentaire pour le garage collector


Les 2 bonnes façons sont:
List<jeu> je;//je ne crées que la variable
je=jeuxControleur.Getdate();// et j'y affecte la liste existante

ou plus simplement
List<jeu> je=jeuxControleur.Getdate();


Enfin, pour répondre à ta question, j'ai besoin de voir le code de la classe jeu, mais ce qui est sûr, c'est qu'un DateTime c'est prévu pour être comparé à un autre DateTime, pas à des string
0
Rejoignez-nous