在.NET中,AsFoo()和ToFoo()之间有什么区别?

Rog*_*mbe 8 .net naming-conventions

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

我问,因为我有一个课程变成了IEnumerable<T>一个IDataReader.我想创建扩展方法是否应该ToDataReaderAsDataReader.

Fem*_*ref 16

As*方法返回一个不同的接口而不迭代源,同时To*迭代它并创建一个新对象.

在您的情况下,AsDataReader应该是正确的选择,因为您在创建时不会遍历源DataReader,但仅当用户在其上调用方法时才会迭代.

  • 那正是我所想; 谢谢你的确认. (2认同)