C#使用IList而不是List
可能重复:C#使用IList而不是List,c#,list,ilist,C#,List,Ilist,可能重复: 我正在研究一个解决方案,我注意到有很多IList正在实现。 只是想知道,当您可以使用列表时,使用IList有什么意义?因为有些集合可能从IList继承而不是从列表继承,例如ObservableCollection。因为有些集合可能从IList继承而不是从列表继承,例如,ObservableCollection。如果您不想继承列表而只想实现接口,请使用IList 也许您希望返回一个支持IList的对象,但实现与调用方无关 在您的情况下,实现IList可能会导致不必要的键入,这可能是正
我正在研究一个解决方案,我注意到有很多IList正在实现。
只是想知道,当您可以使用列表时,使用IList有什么意义?因为有些集合可能从IList继承而不是从列表继承,例如ObservableCollection。因为有些集合可能从IList继承而不是从列表继承,例如,ObservableCollection。如果您不想继承
列表
而只想实现接口,请使用IList
也许您希望返回一个支持IList的对象,但实现与调用方无关
在您的情况下,实现
IList
可能会导致不必要的键入,这可能是正确的做法,没有更多信息我不知道。如果您不想继承列表
而只想实现接口,请使用IList
也许您希望返回一个支持IList的对象,但实现与调用方无关
在您的情况下,实现
IList
可能会导致不必要的键入,这可能是正确的做法,没有更多信息我不知道。您应该尽可能尝试使用界面
,以允许用户在他们使用的实现上有更大的灵活性。一般来说,IEnumerable
和IQueryable
甚至比IList
更好,因为它们更通用,当然,除非您想有充分的理由限制这一点。您应该始终尝试在可能的情况下使用界面
,以允许用户在他们使用的实现上具有更大的灵活性。一般来说,IEnumerable
和IQueryable
甚至比IList
更好,因为它们更通用,除非你想有充分的理由限制它。找到了同一个问题的链接:请为特定的答案提供特定的问题。重复的结果是第一个结果(忽略此结果)当你试图问这个问题时,你会遇到“相关问题”…;)这就是为什么你在标题中提问,并在描述框中解释任何细节…找到了指向同一问题的链接:请为具体答案提供具体问题。当你尝试提问时,重复的是“相关问题”中的第一个结果(忽略此结果)…;)这就是为什么你在标题中提出问题,并在描述框中解释任何细节。。。