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

发布于 2024-10-15 12:55:06 字数 235 浏览 1 评论 0原文

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

我问这个问题是因为我有一个类可以将 IEnumerable 转换为 IDataReader。我想知道创建它的扩展方法应该是 ToDataReader 还是 AsDataReader

For example, enumerable.ToList() versus list.AsReadOnly().

I ask because I've got a class that turns an IEnumerable<T> into an IDataReader. I wonder whether the extension method that creates it should be ToDataReader or AsDataReader.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫烠⑼条掵仅有一顆心 2024-10-22 12:55:06

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

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

As* methods return a different interface without iterating the source, while To* iterates over it and creates a new object.

In your case, AsDataReader should be the right choice, as you don't iterate over the source when creating the DataReader, but only when the user calls methods on it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文