dotnet / dotnet/dotnet-api-docs

Enumerable.Prepend and Enumerable.Append's remark "it creates a copy of the collection with the new element." can be misleading.

Aperta
#11,610 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
area-System.Linq untriaged
Lingua principale
C#
Stelle
949
Fork
1.7k
Merge medio
2g 19h
PR unite (30g)
52

Descrizione

### Type of issue

Missing information

### Description

The remarks for both [Enumerable.Append](https://learn.microsoft.com/en-us/dotnet/api/system.linq.enumerable.append?view=net-9.0#remarks) and [Enumerable.Prepend](https://learn.microsoft.com/en-us/dotnet/api/system.linq.enumerable.prepend?view=net-9.0#remarks) can be misleading.

It currently states for both:
> This method does not modify the elements of the collection. Instead, it creates a copy of the collection with the new element.

However it returns a lazily evaluated wrapper:

```
var original = new List { "b", "c" };
var result = original.Prepend("a");

Console.WriteLine(result.GetType()); // System.Linq.Enumerable+PrependIterator`1
```

and no copy is actually made:
```
var list = new List { "b", "c" };
var result = list.Prepend("a");

list.Add("d");

foreach (var item in result)
Console.WriteLine(item);

// Output:
// a
// b
// c
// d
```

### Page URL

https://learn.microsoft.com/en-us/dotnet/api/system.linq.enumerable.prepend?view=net-8.0#remarks

### Content source URL

https://github.com/dotnet/dotnet-api-docs/blob/main/xml/System.Linq/Enumerable.xml

### Document Version Independent Id

9556f661-a131-5b65-913f-50770cc980cf

### Platform Id

acda5d20-c39a-4d6d-e70e-28d92c16a6b3

### Article author

@dotnet-bot

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Apri xml/System.Linq/Enumerable.xml e individua le note relative a Enumerable.Append e Enumerable.Prepend. Confronta la formulazione con il comportamento del wrapper lazy mostrato nell’issue, quindi aggiorna entrambe le note in modo che non implichino una copia immediata della raccolta; verifica che la documentazione API generata descriva correttamente il risultato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
documentation
Tipo di issue
Documentazione
Difficoltà
1/5
Tempo stimato
Meno di un'ora
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.