返回IList <T>比返回T []或List <T>差吗?
这样的问题的答案:List <T>或IList <T>似乎总是同意,返回接口比返回集合的具体实现更好。但是我为此感到挣扎。实例化接口是不可能的,因此,如果您的方法正在返回接口,则实际上它仍在返回特定的实现。我通过编写2个小方法对此进行了一些试验: public static IList<int> ExposeArrayIList() { return new[] { 1, 2, 3 }; } public static IList<int> ExposeListIList() { return new List<int> { 1, 2, 3 }; } 并在我的测试程序中使用它们: static void Main(string[] args) { IList<int> arrayIList = ExposeArrayIList(); IList<int> listIList = ExposeListIList(); //Will give a runtime error arrayIList.Add(10); …