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


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

更新于: 2020 年 08 月 04 日

16000 多次浏览

开启您的 职业生涯

完成课程获得认证

开始
广告