ReadOnlyCollection 构造函数要求您为其提供 IList。
但是,如果您要连接某些ROC并生成新的ROC,则Concat方法将返回IEnumerable。这不是传递给 ROC 构造函数的有效参数。

那么如何创建一个 ROC 作为其他 ROC 的串联呢?

到目前为止,这是我能想到的最好的:

ReadOnlyCollection<T> ROCConcat<T> ( ReadOnlyCollection<T> a, ReadOnlyCollection<T> b)
{
    List<T> tmp = new List<T>();
    foreach (T f in a.Concat(b))
        tmp.Add(f);
    return new ReadOnlyCollection<T>(tmp);
}

最佳答案

我相信你可以使用 ReadOnlyCollectionBuilder 来做到这一点。

return (new ReadOnlyCollectionBuilder<T>(a.Concat(b))).ToReadOnlyCollection();

关于c# - 如何连接 ReadOnlyCollection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20890826/

10-12 04:19