ToList() crée-t-il une nouvelle liste et des objets indépendants ?
Lorsqu'il s'agit de types de référence, il est essentiel de comprendre le comportement de ToList (). Bien qu'il puisse créer une nouvelle liste, les objets sous-jacents peuvent toujours faire référence à ceux de la liste d'origine.
Instance :
Considérez une classe MyObject avec une propriété SimpleInt. Une liste de MyObjects (objs) est créée et une liste supplémentaire est générée en appelant ToList() sur objs.
Analyse des fonctions :
La méthode ChangeToList accepte un paramètre de type List
Résultat :
Étant donné que MyObject est un type de référence, la objectList fait référence aux mêmes objets que les objs. Par conséquent, la mise à jour de objectList[0].SimpleInt modifie également objs[0].SimpleInt.
Par conséquent, dans l'exemple donné, la méthode ChangeToList renverra 5, indiquant que la modification s'est propagée à la liste d'origine. Pour résumer, ToList() crée une nouvelle liste, mais les éléments qu'elle contient peuvent toujours référencer des objets dans la liste d'origine. Ce comportement est particulièrement pertinent lorsque vous travaillez avec des types de référence tels que des classes ou des tableaux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!