C#列出IList或IEnumerable作为参数

Ste*_*n B 4 c# methods ienumerable arguments list

如果我想将List作为方法的参数,Resharper会提示使用IList接口可能是一个更好的主意.如果我然后用IList替换List,Resharper建议使用IEnumerable.在Java中,我还将List接口而不是ArrayList作为参数.但是使用iEnumerable作为参数是否真的很好看?如果不需要IList或List的功能,这是使用IEnumerable的好习惯吗?

Mat*_*LES 8

下面是文章是让我改变了主意,这一切,让我开始以下的原则

采用最通用的类​​型,返回最具体的类型

所以回答你的问题

如果不需要IList或List的功能,这是使用IEnumerable的好习惯吗?

是的

注意:不要过度了!我见过接受过的代码,IEnumerable如果参数不是a,则抛出异常List.这是愚蠢的.我上面引用的句子意思是"不要求比你需要更多的特异性"