gpt4 book ai didi

c# - 为什么我应该返回 IList 而不是 List

转载 作者:可可西里 更新时间:2023-11-01 07:46:23 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
C# - List<T> or IList<T>

写满了所以你应该返回IList<T>从你的方法而不是List<T>但我找不到任何真正好的理由。我一直在寻找执行此操作的代码,然后调用代码通常会执行以下两项操作之一:

  1. 调用new List<T>(returnedIList)所以它可以使用 List 上的所有好方法
  2. 转换回 List<T>所以它可以使用 List 上的所有好方法

第一个很笨重,第二个会抛出(运行时) InvalidCastException如果实现实际上更改为其他东西(这使得它完全愚蠢)。

如果我使用 List<T>出于某种原因必须用 IList<T> 的实现替换它我不能从 List<T> 继承然后我会得到构建错误并且必须更改一些代码。这可能不太可能,如果发生了,修复起来也不是很多工作。当然不值得失去 List<T> 的好处和/或不得不投/新List<T> (Exists、Find 等)让他们在这种不太可能发生的情况下返回?

所以,还有其他原因返回IList<T>吗? ?

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