Bonjour,

Je vais essayer d'expliquer le mieux possible mon problème. J'ai une classe (qui est un UserControl en WPF) qui contient une liste d'objet d'une autre classe (un autre UserControl)

Voici donc la liste:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 private List<SkillUserControl> listSkill;
Bon la classe SkillUserControl contient plusieurs attribut, je vais juste en mentionner trois

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public int Key
{
	get;
	private set;
}
 
public int numPrereq
{
	get;
	private set;
}
 
public SkillUserControl Prereq
{
	get;
	internal set;
}
la propriété numPrereq est à -1 par défaut sinon ça veut dire que le Skill a un Skill parent et donc numPrereq contient la même valeur que la propriété Key du Skill parent (j'espère être assez clair...)

Je fais un foreach sur la liste des Skill et si numPrereq != 1 je veux récupérer le SkillUserControl qui est le parent du skill actuel, voici mon linq:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
foreach(SkillUserControl suc in listSkill)
{
	if(suc.numPrereq != -1)
	{
		suc.Prereq = listSkill.Where(s1 => s1.Key == suc.numPrereq).ToList().First();
	}
}
Il me lance une Exception en me disant que la liste ne contient aucun élément (je parle du ToList()) alors que le skill que je veux récupérer existe j'ai fait un Console.WriteLine sur tous les Skill de listSkill et ils y sont tous.

J'ai donc voulu juste afficher la clé sur skill parent plutôt que de l'affecter pour voir si cela faisait une différence, toujours la même exception la liste retournée est vide alors que ce n'est pas censé être le cas...

Ca fait des heures que je suis bloqué dessus, et je ne trouve pas la raison de mon problème...

Merci d'avance pour vos réponses