Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#使用IList而不是List_C#_List_Ilist - Fatal编程技术网

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
更好,因为它们更通用,除非你想有充分的理由限制它。

找到了同一个问题的链接:请为特定的答案提供特定的问题。重复的结果是第一个结果(忽略此结果)当你试图问这个问题时,你会遇到“相关问题”…;)这就是为什么你在标题中提问,并在描述框中解释任何细节…找到了指向同一问题的链接:请为具体答案提供具体问题。当你尝试提问时,重复的是“相关问题”中的第一个结果(忽略此结果)…;)这就是为什么你在标题中提出问题,并在描述框中解释任何细节。。。