Impossible de convertir une liste
Fermé
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
-
24 mars 2021 à 03:38
danny243 Messages postés 74 Date d'inscription vendredi 19 mars 2021 Statut Membre Dernière intervention 16 octobre 2021 - 28 mars 2021 à 08:02
danny243 Messages postés 74 Date d'inscription vendredi 19 mars 2021 Statut Membre Dernière intervention 16 octobre 2021 - 28 mars 2021 à 08:02
A voir également:
- Impossible de convertir une liste
- Liste déroulante excel - Guide
- Convertir youtube en mp3 avec audacity - Guide
- Liste de diffusion whatsapp - Guide
- Liste déroulante en cascade - Guide
- Freebox impossible de récupérer la liste des mises à jour - Forum Freebox
7 réponses
dachiasse
Messages postés
1709
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
148
24 mars 2021 à 04:38
24 mars 2021 à 04:38
Salut,
Je voudrais bien essayer de t'aider. Mais, j'obtiens 77 erreurs en recopiant ton code source. D'après ce que j'ai compris dans certaines erreurs, Using doit être placé en début de fichier source.
Où est ta fonction Main ?
Tu as un niveau en C# bien plus élevé que moi. Cependant, j'ai regardé les bases officielles : https://docs.microsoft.com/fr-fr/dotnet/core/tutorials/with-visual-studio-code
J'ai constaté que le nom du namespace (HelloWorld) est le nom du dossier. J'ai remarqué également que le nom de la classe (Program) est le nom du fichier source avec l'extension cs. Enfin, j'ai vu qu'il y a une fonction Main dans la classe Program.
J'en déduis que ton dossier serait TP2_JeuxSociete, n'est-ce pas ?
Je suppose que
Et ton Main serait donc
Je veux préciser que même si j'utilise Linux, j'ai Visual Studio Code et que le programme vu dans : https://docs.microsoft.com/fr-fr/dotnet/core/tutorials/with-visual-studio-code fonctionne sans erreur.
Ton programme sera probablement solutionné par un spécialiste en C# qui a eu le même problème et qui est capable de lire ton code source (très long) de manière efficace. Autant dire qu'on diminue la probabilité de trouver rapidement la solution.
Pourrais-tu nous fournir l'arborescence exacte de ton projet ? Je vois qu'avec C#, la cohérence des noms des dossiers et fichiers est déterminante.
Je voudrais bien essayer de t'aider. Mais, j'obtiens 77 erreurs en recopiant ton code source. D'après ce que j'ai compris dans certaines erreurs, Using doit être placé en début de fichier source.
Où est ta fonction Main ?
Tu as un niveau en C# bien plus élevé que moi. Cependant, j'ai regardé les bases officielles : https://docs.microsoft.com/fr-fr/dotnet/core/tutorials/with-visual-studio-code
J'ai constaté que le nom du namespace (HelloWorld) est le nom du dossier. J'ai remarqué également que le nom de la classe (Program) est le nom du fichier source avec l'extension cs. Enfin, j'ai vu qu'il y a une fonction Main dans la classe Program.
J'en déduis que ton dossier serait TP2_JeuxSociete, n'est-ce pas ?
Je suppose que
public partial class MainWindow : Windowserait ta classe principale (l'équivalent de Program), non ?
Et ton Main serait donc
public MainWindow()?
Je veux préciser que même si j'utilise Linux, j'ai Visual Studio Code et que le programme vu dans : https://docs.microsoft.com/fr-fr/dotnet/core/tutorials/with-visual-studio-code fonctionne sans erreur.
Ton programme sera probablement solutionné par un spécialiste en C# qui a eu le même problème et qui est capable de lire ton code source (très long) de manière efficace. Autant dire qu'on diminue la probabilité de trouver rapidement la solution.
Pourrais-tu nous fournir l'arborescence exacte de ton projet ? Je vois qu'avec C#, la cohérence des noms des dossiers et fichiers est déterminante.
Whismeril
Messages postés
18992
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
29 mars 2024
922
24 mars 2021 à 09:26
24 mars 2021 à 09:26
Bonjour
@Dachiase, il ne manque pas de using, sinon ça ne compilerait pas chez lui.
Son programme utilise l’interface utilisateur WPF. Si tu as copier coller son code dans une solution en mode console (comme le suggère ta question sur le main) il te manque toutes les références nécessaires et le compilateur ne retrouve pas ses petits. Cela dit le message d’erreur est trompeur, les using sont présents mais ils ne pointent sur rien.
@danny, peux tu dire à quelle ligne arrive cette erreur?
Le message dit que tu as essayer de mettre un nombre entier dans une variable de type JeuxSociete et que dans cette classe tu n’as pas prévu que ce soit possible.
Par exemple
Te générerait le même genre d’erreur.
J’ai besoin de savoir quelle ligne pour essayer de comprendre si tu as vraiment besoin de cette conversion ou si c’est autre chose.
@Dachiase, il ne manque pas de using, sinon ça ne compilerait pas chez lui.
Son programme utilise l’interface utilisateur WPF. Si tu as copier coller son code dans une solution en mode console (comme le suggère ta question sur le main) il te manque toutes les références nécessaires et le compilateur ne retrouve pas ses petits. Cela dit le message d’erreur est trompeur, les using sont présents mais ils ne pointent sur rien.
@danny, peux tu dire à quelle ligne arrive cette erreur?
Le message dit que tu as essayer de mettre un nombre entier dans une variable de type JeuxSociete et que dans cette classe tu n’as pas prévu que ce soit possible.
Par exemple
double nombre = "un virgule deux";
Te générerait le même genre d’erreur.
J’ai besoin de savoir quelle ligne pour essayer de comprendre si tu as vraiment besoin de cette conversion ou si c’est autre chose.
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
24 mars 2021 à 14:46
24 mars 2021 à 14:46
c'est dans ma classe mainwindow à partir de la ligne 483 dans le fond je veux ajouter un nouveau jeu dans ma datagrid et je veux recupérer chaque valeur et aussi chaque jeu est associé à un numero de catégorie et je veux être capable de donner un numero de catégorie à chaque jeux
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
24 mars 2021 à 14:58
24 mars 2021 à 14:58
je veux qu'à chaque fois que j'ajoute un nouveau jeu une catégorie doit lui être assignée et chaque catégorie à un numero
dachiasse
Messages postés
1709
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
148
24 mars 2021 à 16:28
24 mars 2021 à 16:28
Salut,
Oui, je pensais qu'il me manquait des fichiers ou des bibliothèques pour que les Using ne fassent pas d'erreur. En revanche, j'aurais dû me douter que ce n'était pas un programme en console.
Mais, simple curiosité, console ou interface graphique, ne vaut-il mieux pas partir sur une base simple comme indiqué sur le lien Microsoft ? Ça me perturbe de ne pas voir de Main. À moins que MainWindow soit le Main des programmes avec interface graphique ?
Oui, je pensais qu'il me manquait des fichiers ou des bibliothèques pour que les Using ne fassent pas d'erreur. En revanche, j'aurais dû me douter que ce n'était pas un programme en console.
Mais, simple curiosité, console ou interface graphique, ne vaut-il mieux pas partir sur une base simple comme indiqué sur le lien Microsoft ? Ça me perturbe de ne pas voir de Main. À moins que MainWindow soit le Main des programmes avec interface graphique ?
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
24 mars 2021 à 16:42
24 mars 2021 à 16:42
le main c'est la classe MainWindow
Whismeril
Messages postés
18992
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
29 mars 2024
922
24 mars 2021 à 21:53
24 mars 2021 à 21:53
Alors d’abord non, le point d’entrée n’est pas la classe mainwindows, mais la class App.
Pour ton problème
Je suppose que maListBox est une listbox sur mainwindow.
La méthode Add d’une listbox retourne l’index où est ajouté l’item.
Par exemple, il y a 5 items (le dernier index est 4), on ajoute un item, il y en aura 6 et l’index du nouveau sera 5. La méthode retourne 5.
Donc
Or cet entier tu veux l’affecter à LstCategorie qui est du type List<T> et ça c’est pas possible.
Pour ton problème
jeu.Add(new JeuSociete() { Nom = txtNom.Text, MinimumJoueurs = int.Parse(txtMinimumJoueurs.Text), MaximumJoueurs = int.Parse(txtMaximumJoueurs.Text), MinimumAge = int.Parse(txtMinimumAge.Text), MaximumAge = int.Parse(txtMaximumAge.Text), //La ligne de l'erreur c'est la liste de catégorie qui va contenir la valeur de la listBox LstCategorie = maListeBox.Items.Add((new CategorieJeu(nom))), }); ;
Je suppose que maListBox est une listbox sur mainwindow.
La méthode Add d’une listbox retourne l’index où est ajouté l’item.
Par exemple, il y a 5 items (le dernier index est 4), on ajoute un item, il y en aura 6 et l’index du nouveau sera 5. La méthode retourne 5.
Donc
maListeBox.Items.Add((new CategorieJeu(nom))),retourne un entier.
Or cet entier tu veux l’affecter à LstCategorie qui est du type List<T> et ça c’est pas possible.
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
25 mars 2021 à 00:11
25 mars 2021 à 00:11
et comment puis je remedier au problème
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Whismeril
Messages postés
18992
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
29 mars 2024
922
25 mars 2021 à 06:19
25 mars 2021 à 06:19
J’ai toujours pas compris ton besoin, donc pour l’instant je sais pas
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
25 mars 2021 à 13:12
25 mars 2021 à 13:12
j'ai une liste des catégories et chaque jeu a des catégories soit guerres, course, stratégie ainsi je veux à chaque ajout d'un être capable de lui donner une catégorie en lui demandant le numero de la catégorie c'est comme si le numero est comme l'index que je dois recuperer dans le fond
dachiasse
Messages postés
1709
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
148
>
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
25 mars 2021 à 14:44
25 mars 2021 à 14:44
Salut,
Je vais tenter une réponse en pseudo-code.
Je ne vois que la possibilité de créer une classe Jeux qui aurait comme attributs : le nom du jeu, et la liste de catégories correspondante.
Je vais tenter une réponse en pseudo-code.
liste_categorie = ["guerre", "sport", "course"]
mad_max = Jeux("Mad Max", [liste_categorie[0], liste_categorie[2]])
Je ne vois que la possibilité de créer une classe Jeux qui aurait comme attributs : le nom du jeu, et la liste de catégories correspondante.
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
>
dachiasse
Messages postés
1709
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
25 mars 2021 à 15:10
25 mars 2021 à 15:10
okay je vais essayer ça
Whismeril
Messages postés
18992
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
29 mars 2024
922
25 mars 2021 à 17:13
25 mars 2021 à 17:13
Ok, et que vient faire la listbox là dedans?
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
25 mars 2021 à 19:39
25 mars 2021 à 19:39
c'est dans la listbox que j'ajoute une nouvelle catégorie
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
>
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
25 mars 2021 à 19:49
25 mars 2021 à 19:49
de toute les façons je viens de comprendre comment le faire merci pour votre aide et à plus tard
dachiasse
Messages postés
1709
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
148
>
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
25 mars 2021 à 21:57
25 mars 2021 à 21:57
Pourrais-tu indiquer la démarche ? Ça pourra être utile pour ceux qui cherchent à faire pareil.
danny243
Messages postés
74
Date d'inscription
vendredi 19 mars 2021
Statut
Membre
Dernière intervention
16 octobre 2021
28 mars 2021 à 08:02
28 mars 2021 à 08:02
Dans le fond lorsque j'ajoute une catégorie je stocke cela dans une liste et après quand j'ajoute un nouveau Jeu j'assigne à ma proprieté ma liste voilà une partie du code
private List<CategorieJeu> catSelected = new List<CategorieJeu>(); private void BtnAjouter_Click(object sender, RoutedEventArgs e) { foreach (JeuSociete j in jeu.ToList()) { if (j.Nom == txtnomJeu.Text && j.MinimumJoueurs > j.MaximumJoueurs && maListeBox.Items.Count < 1 || maListeBox.Items.Count > 5) { MessageBox.Show("Erreur Veuillez réessayez ", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error); return; } } jeu.Add(new JeuSociete() { Nom = txtnomJeu.Text, MinimumJoueurs = int.Parse(txtnbMinimum.Text), MaximumJoueurs = int.Parse(txtnbmaximum.Text), MinimumAge = int.Parse(txtageMinimum.Text), MaximumAge = int.Parse(txtageMaximum.Text), LstCategorie = catSelected, }) ; //Réecriture du fichier de données // MainWindow.ReecrireFichier(); } private void BtnAjouterListeBox_Click(object sender, RoutedEventArgs e) { if (lstCatJeu.SelectedItems.Count < 1 || lstCatJeu.SelectedItems.Count > 5) { MessageBox.Show("Le nombre d'élements sélectionné doit être entre 2 et 4", "Erreur", MessageBoxButton.OKCancel, MessageBoxImage.Error); } else { foreach (CategorieJeu j in lstCatJeu.SelectedItems) { lstAjout.Items.Add(j.Nom); catSelected.Add(j); } } }