Concat()
複数の ISet で使用して、1 つの大きな ISet を作成しようとしています。そこで、次のコードを試しました。
public class Foo
{
private Dictionary<Bii, ISet<Faa>> items = new Dictionary<Bii, ISet<Faa>>();
public ISet<Faa> GetCompleteList()
{
ISet<Faa> result = items.Values.Aggregate((x,y) => x.Concat(y));
return result;
}
}
問題は、これによりコンパイラ エラーが発生することです。
System.Collections.Generic.IEnumerable<Faa>
タイプを に暗黙的に変換することはできませんSystem.Collections.Generic.ISet<Faa>
。明示的な変換が存在します (キャストがありませんか?)
そして2番目のエラー:
System.Func<System.Collections.Generic.ISet<Faa>,System.Collections.Generic.ISet<Faa>,System.Collections.Generic.ISet<Faa>>
ブロック内の一部の戻り値の型がデリゲートの戻り値の型に暗黙的に変換できないため、ラムダ式をデリゲートの型に変換できません
私も次のようなキャストを使用してみました:
ISet<Faa> result = items.Values.Aggregate((x,y) => (ISet<Faa>)x.Concat(y));
InvalidCastException
しかし、これは私に を与えConcatIterator
ます。
すべての ISet を 1 つの ISet に結合するにはどうすれば良いキャストを行うことができますか?