gpt4 book ai didi

c# - 如何将通用 List 转换为 List?

转载 作者:太空狗 更新时间:2023-10-29 22:05:51 26 4
gpt4 key购买 nike

如何将通用列表转换为列表?

我正在使用 ListCollectionView我需要为它提供 IList不是IList<T> .

我看到很多例子来转换 IListIList<T> ,但不是另一种方式。

我是否只是手动转换它 (new List().AddRange(IList<T>)?

最佳答案

澄清其他答案:

IList<T> 需要一个实现类型来实现 IList . IEnumerable<T>确实需要 IEnumerable .我们可以通过 IEnumerable<T> 解决这个问题因为 T 的序列总是可以被视为对象序列。但是长颈鹿列表不能被视为对象列表;您可以将老虎添加到对象列表中。

然而,List<T> 不安全实现IList吗? .如果您尝试将老虎添加到 List<Giraffe>通过首先将其转换为 IList,您将得到一个异常。

所以回答这个问题:如果你手头只有一个 IList<T> ,您可以推测性地将其转换为 IList使用“as”运算符,如果失败,则创建一个新的 ArrayListList<object>并将内容复制进去。如果你手头的是List<T>那么你已经有了实现 IList 的东西直接。

关于c# - 如何将通用 List<T> 转换为 List?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5966000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com