博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
List用法与介绍
阅读量:5172 次
发布时间:2019-06-13

本文共 1909 字,大约阅读时间需要 6 分钟。

 泛型的好处:它为使用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);

转载于:https://www.cnblogs.com/wmm15738807386/p/8177463.html

你可能感兴趣的文章
BZOJ4472
查看>>
mysql四-2:多表查询
查看>>
OpenStack之Nova模块
查看>>
C#矩阵求逆
查看>>
LK光流法
查看>>
【面试】求数组子序列的最大和
查看>>
CentOS设置默认启动命令行(不启动图形界面)
查看>>
设计模式-1-单例模式
查看>>
java 读写锁
查看>>
_itoa_s替换 itoa
查看>>
面试问题
查看>>
Jmeter-【JSON Extractor】-响应结果中一级key取值
查看>>
mysql建库
查看>>
bzoj1066: [SCOI2007]蜥蜴
查看>>
jQuery自定义右键菜单
查看>>
mybatis实现延迟加载多对一
查看>>
JS拖拽,移动与拉伸
查看>>
Linux资源站
查看>>
[转]vue解决刷新页面vuex数据、params参数消失的问题
查看>>
1.VC弹出打开文件/保存文件/选择文件对话框
查看>>