Dot-Net

在 .NET 中,AsFoo() 和 ToFoo() 有什麼區別?

  • January 30, 2011

例如,enumerable.ToList()list.AsReadOnly().

我問是因為我有一門課可以把 anIEnumerable<T>變成IDataReader. 我想知道創建它的擴展方法是否應該ToDataReaderAsDataReader.

As*方法返回不同的介面而不迭代源,同時To*迭代它並創建一個新對象。

在您的情況下,AsDataReader應該是正確的選擇,因為您在創建時不迭代源DataReader,而僅在使用者呼叫它的方法時。

引用自:https://stackoverflow.com/questions/4843099