相关疑难解决方法(0)

ReadOnlyCollection或IEnumerable用于公开成员集合?

如果调用代码只迭代集合,是否有任何理由将内部集合公开为ReadOnlyCollection而不是IEnumerable?

class Bar
{
    private ICollection<Foo> foos;

    // Which one is to be preferred?
    public IEnumerable<Foo> Foos { ... }
    public ReadOnlyCollection<Foo> Foos { ... }
}


// Calling code:

foreach (var f in bar.Foos)
    DoSomething(f);
Run Code Online (Sandbox Code Playgroud)

正如我所看到的,IEnumerable是ReadOnlyCollection接口的一个子集,它不允许用户修改集合.因此,如果IEnumberable接口足够,那么就是要使用的接口.这是推理它的正确方法还是我错过了什么?

谢谢/ Erik

.net c# collections ienumerable readonly-collection

118
推荐指数
3
解决办法
3万
查看次数

最佳类型设置为返回集合的方法的返回类型?

返回收藏品对我们来说哪种类型最好?

我应该使用IList<T>,IEnumerable<T>,IQueryable<T>,别的东西吗?哪个最好,为什么

我正在尝试决定我应该使用哪种方式,无论是在接口还是我正在编写的几个类的实现中.

编辑让我更进一步,我使用LINQ to SQL通过WCF服务返回数据.感觉这可能会改变最佳使用类型?

.net c#

11
推荐指数
3
解决办法
990
查看次数

标签 统计

.net ×2

c# ×2

collections ×1

ienumerable ×1

readonly-collection ×1