Il économise une très petite quantité de mémoire. La quantité de mémoire qu'un appareil vide List<byte[]>
va prendre la taille d'un octet.
La raison en est que votre variable de référence _stream
doit seulement allouer suffisamment de mémoire pour contenir une référence à un objet. Une fois qu'un objet est alloué, il occupe une certaine quantité de mémoire qui peut augmenter ou diminuer au fil du temps, par exemple lorsque de nouveaux objets sont créés. byte[]
sont ajoutés à l List
. Cependant, la mémoire occupée par la référence à cet objet restera de la même taille.
Cette méthode est plus simple et moins sujette à des cas particuliers qui vous causent des maux de tête :
private List<byte[]> _stream = new List<byte[]>();
public object Stream
{
get
{
return _stream;
}
}
Bien que, dans la plupart des cas, il ne soit pas vraiment optimal de renvoyer des références à des membres privés lorsqu'il s'agit de collections/rays, etc. Il est préférable de renvoyer _stream.AsReadOnlyCollection()
.