如何从方法返回ICollection?

时间:2016-03-12 23:58:24

标签: c# .net collections

考虑以下方法

OutputCache

当然我收到错误"无法将List类型的对象强制转换为HashSet",因为我在方法()中使用List实例化了col

是否可以使用泛型方法,它返回ICollection并可以在HashSet或List中进行转换,具体取决于我的需求?

1 个答案:

答案 0 :(得分:2)

不,你不能直接投射它,因为返回的实例不是HashSetList以外的任何内容,但您可以轻松使用返回的ICollection实例初始化您需要的任何新实例。例如:

ICollection<int> result = Method();
HashSet<int> newHashSet = new HashSet<int>(result);