ToList()— T-il Créer une Nouvelle Liste?

Disons que j'ai une classe

public class MyObject
{
   public int SimpleInt{get;set;}
}

Et j'ai un List<MyObject>, et je ToList() puis modifier l'un des SimpleInt, mon changement propager à la liste d'origine. En d'autres termes, ce serait la sortie de la méthode suivante?

public void RunChangeList()
{
  var objs = new List<MyObject>(){new MyObject(){SimpleInt=0}};
  var whatInt = ChangeToList(objs );
}
public int ChangeToList(List<MyObject> objects)
{
  var objectList = objects.ToList();
  objectList[0].SimpleInt=5;
  return objects[0].SimpleInt;

}

Pourquoi?

P/S: je suis désolé si cela semble évident à trouver. Mais je n'ai pas de compilateur avec moi maintenant...

  • Une façon de le phrasé, c'est que .ToList() fait un faible copier. Les références sont copiés, mais les nouvelles références pointent toujours vers le même cas que l'original de point de références. Quand vous pensez à elle, ToList ne peut pas créer des new MyObject() quand MyObject est un class type.
InformationsquelleAutor Graviton | 2010-05-05