C# 中的 List 和 IList 有什么区别?

csharpserver side programmingprogramming更新于 2025/10/2 10:07:17

C# 中 List 和 IList 的主要区别在于:List 是一个类,表示一个可以通过索引访问的对象列表;而 IList 是一个接口,表示一个可以通过索引访问的对象集合。IList 接口由两个接口实现,分别是 ICollection 和 IEnumerable。

List 和 IList 用于表示一组对象。它们可以存储整数、字符串等对象。List 和 IList 中都有插入、删除元素、搜索和排序元素的方法。List 和 IList 的主要区别在于:List 是一个具体类,而 IList 是一个接口。总而言之,List 是一个实现了 IList 接口的具体类型。

示例 1

using System;
using System.Collections.Generic;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         IList<string> ilist = new IList<string>();
         //This will throw error as we cannot create instance for an IList as it is an interface.
         ilist.Add("Mark");
         ilist.Add("John");
         foreach (string list in ilist){
            Console.WriteLine(list);
         }
      }
   }
}

示例 2

using System;
using System.Collections.Generic;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         IList<string> ilist = new List<string>();
         ilist.Add("Mark");
         ilist.Add("John");
         List<string> list = new List<string>();
         ilist.Add("Mark");
         ilist.Add("John");
         foreach (string lst in ilist){
            Console.WriteLine(lst);
         }
         foreach (string lst in list){
            Console.WriteLine(lst);
         }
         Console.ReadLine();
      }
   }
}

输出

上述代码的输出是

Mark
John
Mark
John

相关文章