资源描述:
《c# list用法详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#List用法所属命名空间:System.Collections.GenericpublicclassList:IList,ICollection,IEnumerable,IList,ICollection,IEnumerableList类是ArrayList类的泛型等效类。该类使用大小可按需动态增加的数组实现IList泛型接口。泛型的好处:它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型
2、转换,所以性能得到提高。性能注意事项:在决定使用IList还是使用ArrayList类(两者具有类似的功能)时,记住IList类在大多数情况下执行得更好并且是类型安全的。如果对IList类的类型T使用引用类型,则两个类的行为是完全相同的。但是,如果对类型T使用值类型,则需要考虑实现和装箱问题。用微软的话讲:“添加到ArrayList中的任何引用或值类型都将隐式地向上强制转换为Object。如果项是值类型,则必须在将其添加到列表中时进行装箱操作,在检索时进行取消装箱操作。强制转换以及装
3、箱和取消装箱操作都会降低性能;在必须对大型集合进行循环访问的情况下,装箱和取消装箱的影响非常明显。”1、List的基础、常用方法:声明:1、ListmList=newList();T为列表中元素类型,现在以string类型作为例子E.g.:ListmList=newList();2、ListtestList=newList(IEnumerablecollection);以一个集合作为参数创建ListE.g.:string[]temArr={
4、"Ha","Hunter","Tom","Lily","Jay","Jim","Kuku","Locu"};ListtestList=newList(temArr);添加元素:1、List.Add(Titem)添加一个元素E.g.:mList.Add("John");2、List.AddRange(IEnumerablecollection)添加一组元素E.g.:string[]temArr={"Ha","Hunter","Tom","Lily","Jay","J
5、im","Kuku","Locu"};mList.AddRange(temArr);3、Insert(intindex,Titem);在index位置添加一个元素E.g.:mList.Insert(1,"Hei");遍历List中元素:foreach(TelementinmList)T的类型与mList声明时一样{Console.WriteLine(element);}E.g.:foreach(stringsinmList){Console.WriteLine(s);}删除元素:1、List.Remo
6、ve(Titem)删除一个值E.g.:mList.Remove("Hunter");2、List.RemoveAt(intindex);删除下标为index的元素E.g.:mList.RemoveAt(0);3、List.RemoveRange(intindex,intcount);从下标index开始,删除count个元素E.g.:mList.RemoveRange(3,2);判断某个元素是否在该List中:List.Contains(Titem)返回true或false,很实用E.g.:if(mL
7、ist.Contains("Hunter")){Console.WriteLine("ThereisHunterinthelist");}else{mList.Add("Hunter");Console.WriteLine("AddHuntersuccessfully.");}给List里面元素排序:List.Sort()默认是元素第一个字母按升序E.g.:mList.Sort();给List里面元素顺序反转:List.Reverse()可以与List.Sort()配合使用,达到想要的效果E.g.:m
8、List.Sort();List清空:List.Clear()E.g.:mList.Clear();获得List中元素数目:List.Count()返回int值E.g.:intcount=mList.Count();Console.WriteLine("Thenumofelementsinthelist:"+count);2、List的进阶、强大方法:举例用的List:string[]temArr={Ha","Hunter","Tom","Lily","