In .NET, was ist der Unterschied zwischen AsFoo () und ToFoo ()?

8

Zum Beispiel enumerable.ToList() gegen list.AsReadOnly() .

Ich frage, weil ich eine Klasse habe, die ein IEnumerable<T> in ein IDataReader verwandelt. Ich frage mich, ob die Erweiterungsmethode, die es erstellt, ToDataReader oder AsDataReader sein sollte.

    
Roger Lipscombe 30.01.2011, 13:17
quelle

1 Antwort

16

As* -Methoden geben eine andere Schnittstelle zurück, ohne die Quelle zu durchlaufen, während To* darüber iteriert und ein neues Objekt erstellt.

In Ihrem Fall sollte AsDataReader die richtige Wahl sein, da Sie beim Erstellen von DataReader nicht über die Quelle iterieren, sondern nur, wenn der Benutzer Methoden dafür aufruft.

    
Femaref 30.01.2011, 13:19
quelle

Tags und Links