C# List基本用法

简介: C# List基本用法

       C#中的List怎么样?List<T>类是ArrayList类的泛型等效类,该类使用大小可按需动态增加的数组实现IList<T>泛型接口。接下来,绿茶小编就介绍一些List的基础简单用法。


 泛型的好处:它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。


 性能注意事项:在决定使用IList<T>还是使用ArrayList类(两者具有类似的功能)时,记住IList<T>类在大多数情况下执行得更好并且是类型安全的。如果对IList<T>类的类型T 使用引用类型,则两个类的行为是完全相同的。但是,如果对类型T 使用值类型,则需要考虑实现和装箱问题。


C# List的基础常用方法:

 一、声明:


 1、List<T> mList = new List<T>();


 T为列表中元素类型,现在以string类型作为例子:


 List<string> mList = new List<string>();


 2、List<T> testList =new List<T> (IEnumerable<T> collection);


 以一个集合作为参数创建List:


 string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu"};


 List<string> testList = new List<string>(temArr);


 二、添加元素:


 1、List. Add(T item)添加一个元素


 例:


mList.Add("John");


 2、List. AddRange(IEnumerable<T> collection)添加一组元素


 例:


 string[] temArr = {"Ha","Hunter","Tom","Lily","Jay","Jim","Kuku","Locu"};mList.AddRange(temArr);


 3、Insert(intindex, T item);在index位置添加一个元素


 例:


 mList.Insert(1,"Hei");


 三、遍历List中元素:


 foreach(TelementinmList)T的类型与mList声明时一样


 {


 Console.WriteLine(element);


 }


 例:


 

foreach(stringsinmList)
  {
  Console.WriteLine(s);
  }


 四、删除元素:


 1、List. Remove(T item)删除一个值


 例:


 

mList.Remove("Hunter");


 2、List. RemoveAt(intindex);删除下标为index的元素


 例:


 

mList.RemoveAt(0);


 3、List. RemoveRange(intindex,intcount);


 从下标index开始,删除count个元素


 例:


mList.RemoveRange(3, 2);


 五、判断某个元素是否在该List中:


 List. Contains(T item)返回true或false,很实用


 例:


if(mList.Contains("Hunter"))
  {
  Console.WriteLine("There is Hunter in the list");
  }
  else
  {
  mList.Add("Hunter");
  Console.WriteLine("Add Hunter successfully.");
  }


 六、给List里面元素排序:


 List. Sort ()默认是元素第一个字母按升序


 例:


mList.Sort();


 七、给List里面元素顺序反转:


 List. Reverse ()可以不List. Sort ()配合使用,达到想要的效果


 例:


 mList.Sort();


 八、List清空:


 List. Clear ()


 例:


mList.Clear();


 九、获得List中元素数目:


 List. Count ()返回int值


 例:


in tcount = mList.Count();
  Console.WriteLine("The num of elements in the list: "+count);
相关文章
|
6月前
|
C#
C# Dev chartControl的用法
C# Dev chartControl的用法
|
6月前
|
开发框架 .NET C#
C#学习相关系列之Linq用法---where和select用法(二)
C#学习相关系列之Linq用法---where和select用法(二)
349 2
|
5月前
|
C#
技术经验分享:C#DUID的用法及取得整数的几个方法
技术经验分享:C#DUID的用法及取得整数的几个方法
67 1
|
5月前
|
存储 索引 Python
Python教程:深入了解 Python 中 Dict、List、Tuple、Set 的高级用法
Python 中的 Dict(字典)、List(列表)、Tuple(元组)和 Set(集合)是常用的数据结构,它们各自有着不同的特性和用途。在本文中,我们将深入了解这些数据结构的高级用法,并提供详细的说明和代码示例。
211 2
|
5月前
|
存储 C++
C++初阶学习第十一弹——探索STL奥秘(六)——深度刨析list的用法和核心点
C++初阶学习第十一弹——探索STL奥秘(六)——深度刨析list的用法和核心点
52 7
|
6月前
|
SQL 数据处理 HIVE
【Hive】写出Hive中split、coalesce及collect_list函数的用法?
【4月更文挑战第17天】【Hive】写出Hive中split、coalesce及collect_list函数的用法?
|
6月前
|
开发框架 .NET C#
C#学习相关系列之Linq用法---group和join相关用法(三)
C#学习相关系列之Linq用法---group和join相关用法(三)
231 1
|
6月前
|
安全 C#
c#学习相关系列之as和is的相关用法
c#学习相关系列之as和is的相关用法
|
6月前
|
C# 索引
C#学习相关系列之abstract和virtual用法
C#学习相关系列之abstract和virtual用法
|
13天前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
28 3