List<T>类是ArrayList 类的泛型等效类。 该类使用大小可按需动态增加的数组实现

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

一、  List的基础、常用方法:  

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

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

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

  b.增加元素:List. Add(T item)

  如:mList.Add("进击的皮卡丘");    

  c.插入元素:Insert(int index, T item);    在index位置添加一个元素     

  如:mList.Insert(1, "AdvancePikachu");     

  d.删除元素:

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

    如:mList.Remove("进击的皮卡丘"); 
    List. RemoveAt(int index);   删除下标为index的元素 
    如:mList.RemoveAt(0);

     List. RemoveRange(int index, int count);   从下标index开始,删除count个元素

    如:mList.RemoveRange(3, 2); //超出删除的范围会出错

  注:删除某元素后,其后面的元素下标自动跟进

  e.判断是否存在List:List. Contains(T item)   得到的结果是返回true或false

  f.排序:

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

    List. Reverse ()   //给List里面元素顺序反转

  g.遍历List中元素:

    foreach (T element in mList)  T的类型与mList声明时一样 
    { 
      Console.WriteLine(element); 
     }

  h.List清空:List. Clear ()

  如:mList.Clear();

  i.获得List中元素数目:

   如:List. Count   返回int值

  j.添加数组进List:

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

    mList.AddRange(temArr);

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);

3、List与数组的相互转换

  a.从string[]转List<string>

  如:string[] str={“1”,”2”};

    List <string> list=new List<string>(str);

  b.从List<string>转string[]

  如:List<string> list=new List<string>;

    String[] str=list.ToArray();

  c.ViewState["idlist"]转换成List<>

  如:List<int> idlist=(List<int>)ViewState["idlist"]

Unity3D C# 学习List数据类型的使用的更多相关文章

  1. 开启unity3D的学习之路

    2014年5月11号.我開始了我的Unity3D的学习之路.我将在此记录我学习过程中各个进程,这样在将来的某天,自己忘记了某部分内容时.也能够回过头来复习一下.

  2. js学习之数据类型

    js学习之数据类型 基础类型:number string boolean null undefined 引用类型:object array function undefined值是派生自null值的( ...

  3. Go语言学习之数据类型

    ### Go语言学习之数据类型 数据类型的转换 1.Go语言不允许隐式类型转换(显示转换才可以) 2.别名和原有类型也不能进行隐式类型转换 例子: func TestImplicit(t *testi ...

  4. python学习6—数据类型之集合与字符串格式化

    python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...

  5. 关于unity3D的学习感想

    在老师布置团队项目后组长确定项目是做游戏是,我才接触的Unity3D游戏引擎. 因为一开始我没有接触过这类软件,更没有用过.所以作为一个新手,做好的办 法实在网上找教程.网上说Unity3D是由Uni ...

  6. MySQL学习笔记--数据类型

    一.数据类型(内容参考<SQL学习指南>)不完整 1.文本类型 文本类型 最大字节数 tinytext 255 text 65535 varchar 65536 mediumtext 16 ...

  7. Unity3D编程学习分享

    学习地址:http://www.ixueyun.com/lessons/detail-lessonId-692.html 一.课程概述: 以前大部分3D游戏出现在pc和ps.XBox等专业游戏主机上, ...

  8. Unity3D 新人学习的一点感想

    想到那里写到那里吧 1.Unity3D的优点大家都知道:组件化.c#语言.可见即所得. 当初刚开始学习的是cocos2dx,c++的货,觉得还是写的不错的,也是国人开发的,真的代码很容易懂,直接看引擎 ...

  9. 開始Unity3D的学习之旅

    前言:这个系列的文章纯属对自己学习的整理,非高手之作.但确实的记载了我作为一个没接触过3D游戏编程的大学生的心路历程.争取每周整理一次吧.之所以会開始学Unity3D,最基本的原因是由于在快放暑假的时 ...

随机推荐

  1. linux日常管理-rsync后台服务方式-1

    rsync的另外一种方式,写一个配置文件,放在etc下,通过一个命令启动他,它会监听一个端口,在客户端和服务端进行通信. 远程机器的配置文件 IP是192.168.1.117 配置文件的名字,写成这个 ...

  2. 菜鸟级的Git与GitHub使用总结(转)

    菜鸟级的Git与GitHub使用总结 原创 2016年12月01日 14:58:30 1792 前言 这几天一直在折腾学习Git和GitHub的使用.几天下来,在网上查阅了大量的资料,总算有一些成果. ...

  3. viewstate的基本用法

    转自:http://www.cnblogs.com/ooip/p/4743536.html 在web窗体将控件属性设置为runat=server时,这个控件会被添加一个隐藏属性_ViewState,_ ...

  4. win7 32位安装 python 及Numpy、scipy、matplotlib函数包

    操作系统: win7 64位,但选择安装32位的python. 1,python下载安装 https://www.python.org/downloads/ 下载2.7版,一路下一步安装. 并在pat ...

  5. C#中类和结构体

    结构体 类 自己的一些理解 首先结构中不能给字段赋值  而类可以 结构调用方法是  例如 People p1: 类的调用方法是  Book b =new Book(): 1.类能够实例化 而结构不可以 ...

  6. Enigma模拟-Python

    设计思想 Enigma机的机械结构: 键盘:加密人员通过键盘进行输入 转子:Enigma机上一般装有至少3个转轮.每个转轮有代表26个字母的触头和触点,触点和触头在转轮内部有导线相连(一个转轮相当于一 ...

  7. es6实现类的多重继承

    1.类的多种继承,将多个类的接口“混入”(mix in)另一个类. function mix(...mixins) { class Mix { // 如果不需要拷贝实例属性下面这段代码可以去掉 // ...

  8. Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)D(思维,DP,字符串)

    #include<bits/stdc++.h>using namespace std;char c[2007][2007];char ans[4007];int s[2007][2007] ...

  9. Codeforces570C 【简单标记】

    题意: 给定一个长为n的字符串(包含小写字母和'.'),有m次操作 每次操作可以修改字符,并询问修改后有多少对相邻的'.' 思路: 标记. #include<bits/stdc++.h> ...

  10. Maven项目骨架搭建

    1. 如何使用Maven的archetype快速生成一个新项目 2. Maven之自定义archetype生成项目骨架(一) 3. 使用maven3 创建自定义的archetype 4. 使用mave ...