Bonjour,
Je me pose une petite question. Je ne sais pas s’il vaut mieux que j’utilise une List<T> ou un Dictionary<int,T>. Je vais vous exposer mon cas.

Code c# : 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
//Mes classes
public class User
{
	public int Id { get; set; }
	public string Fullname { get; set; }
	public City City { get; set; }
}
 
public class City
{
	public int Id { get; set; }
	public string Type { get; set; }
}
 
//Ma méthode côté business
public void Blablalal()
{
	//Cas N°1
	List<User> userAll = DAL.Manager.GetUser();
	List<City> cityAll = DAL.Manager.GetCity();
 
	foreach (var oneUser in userAll)
		if (oneUser.City != null && oneUser.City.Id > 0)
			oneUser.City = cityAll.FirstOrDefault(c => c.Id == oneUser.City.Id);
 
 
	//Cas N°2
	Dictionary<int,User> userAll = DAL.Manager.GetUser();
	Dictionary<int,City> cityAll = DAL.Manager.GetCity();
 
	foreach (var oneUser in userAll.Values)
		if (oneUser.City != null && oneUser.City.Id > 0)
			if(cityAll.ContainsKey(oneUser.City.Id))
				oneUser.City = cityAll[oneUser.City.Id];
 
}

La question que je me pose est la suivante. Imaginons un nombre important de villes et de personnes, laquelle des deux méthodes sera la plus rapide d'après vous?
Merci d'avance pour vos conseils.