Cacul avec date

termitus19
Messages postés
88
Date d'inscription
mercredi 7 janvier 2015
Statut
Membre
Dernière intervention
23 juin 2021
- 27 oct. 2018 à 03:17
Whismeril
Messages postés
17337
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2022
- 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
17337
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2022
596
27 oct. 2018 à 07:32
Bonjour
Et t’as essayé quoi comme code ?
0
termitus19
Messages postés
88
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
17337
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2022
596
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
17337
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2022
596
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