我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C# 列表List的常用属性和方法介绍

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C# 列表List的常用属性和方法介绍

1.创建列表

(列表可以存储任何类型的数据,在创建列表对象的时候首先要指定你要创建的这个列表要存储什么类型的)(泛型)


//创建列表
        //方法一
        List<int> intList = new List<int>();//创建了一个空的列表 通过类型后面的<>来表示这个列表存储的数据的类型
        //方法二
        var intlist1 = new List<string>();
        //方法三
        var intlist2 = new List<int>(){1,2,3};//创建了一个列表,里面的初始值有三个分别为 1 2 3

2.遍历列表

for循环,遍历所有的索引,通过索引访问列表中的元素


for(int i=0;i<list.Count;i++){
 //循环体list[i]
}

foreach遍历


  foreach(var temp in list){ //依次取得list中的每一个元素赋值给temp,并执行循环体
   //循环体 temp
  }

3.列表的常用属性方法

1,Capacity获取容量大小

2,Add()方法添加元素


    var scoreList = new List<int>();
    scoreList.Add(12);
    scoreList.Add(34);
    scoreList.Add(56);
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.ReadKey();

3,Insert()方法插入元素


 var scoreList = new List<int>(){100,200,300,100};
    //遍历列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    
      Console.WriteLine();
        scoreList.Insert(3, -100);//向指定索引位置插入元素,原来的元素向后移动一位。插入索引不能超出索引范围,插入索引最大可为scoreList.Count
        foreach (var temp in scoreList)
        {
            Console.Write(temp + " ");
        }
        Console.WriteLine();
        Console.ReadKey();

4,[index]访问元素

5,Count属性访问元素个数

6,RemoveAt()方法移除指定位置的元素


scoreList.RemoveAt(1);//removeAt(index)填入要删除的索引

7,IndexOf()方法取得一个元素所在列表中的索引位置

LastIndexOf()上面的方法是从前往后搜索,这个是从后往前搜索,搜索到满足条件的就停止,上面的两个方法,如果没有找到指定元素就返回-1


    var scoreList = new List<int>(){100,200,300,100};
    //遍历列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.WriteLine();
    Console.WriteLine(scoreList.IndexOf(400));查找不到返回-1
    Console.WriteLine(scoreList.IndexOf(100));
    Console.WriteLine(scoreList.LastIndexOf(100));
    Console.ReadKey();

8,Sort()对列表中是元素进行从小到大排序


    var scoreList = new List<int>(){100,200,300,100};
    //遍历列表
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.WriteLine();
    scoreList.Sort();//排序
    foreach (var temp in scoreList)
    {
        Console.Write(temp + " ");
    }
    Console.WriteLine();
    Console.ReadKey();

关于列表的更多内容

1,列表内部数据是使用数组进行的存储,一个空的列表内部会有一个长度为0的数组,当给列表中添加元素的时候,列表的容量会扩大为4,如果添加第5个的时候,列表的大小会重新设置为8,如果添加第9个元素,列表容量会扩大为16,依次增加。当列表的中的容量发生改变的时候,它会创建一个新的数组,使用Array.Copy()方法将旧数组中的元素复制到新数组中。为了节省时间,如果事先知道要存储的数据的个数,就可以利用列表的构造函数指定列表的容量大小,比如下面的

List intlist = new List(10);创建了一个初始容量为10的列表,当容量不够用的时候,每次都会按照原来容量的2倍进行扩容。

我们可以通过Capacity属性获取和设置容量


intList.Capacity = 100;

2,注意容量和列表中元素个数的区别,容量是列表中用于存储数据的数组的长度通过Capacity 获取,列表中的元素是我们添加进去需要管理的数据,通过Count获取

例如


        List<int> intList = new List<int>();//创建列表
        for (int i = 0; i < 20; i++)
        {
            Console.WriteLine("列表长度:" + intList.Capacity + " 元素个数:" + intList.Count);
            intList.Add(10);
        }
        Console.ReadKey();

补充:C#中List怎么用?List基础用法汇总

C#中的List怎么样?List<T>类是ArrayList类的泛型等效类,该类使用大小可按需动态增加的数组实现IList<T>泛型接口。

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C# 列表List的常用属性和方法介绍

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C++List链表的介绍和使用

list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代,这篇文章主要介绍了C++List链表的介绍和使用,需要的朋友可以参考下
2023-03-07

PHP5.0对象模型的属性和方法介绍

本篇内容主要讲解“PHP5.0对象模型的属性和方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP5.0对象模型的属性和方法介绍”吧!今天我们向大家介绍的是关于PHP5.0对象模型的属性
2023-06-17

Mybatis中实体类属性与数据列表间映射方法介绍

Mybatis不像Hibernate中那么自动化,通过@Column注解或者直接使用实体类的属性名作为数据列名,而是需要自己指定实体类属性和 数据表中列名之间的映射关系,这一点让用惯了Hibernate的人很不习惯,所幸经过探索找到了建立映
2023-05-30

C#数组常用属性和方法有哪些

本篇内容主要讲解“C#数组常用属性和方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#数组常用属性和方法有哪些”吧!C#数组实际上是对象。System.Array 是所有数组类型的抽象
2023-06-17

dedecms list增加noflag属性的方法 实现让列表标签不调用有推荐属性的文章

修改include/arc.listview.class.php,以下是修改后的文件 复制代码代码如下:

requi

2022-06-12

C#中form窗体常用属性和方法有哪些

这篇文章主要为大家展示了“C#中form窗体常用属性和方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中form窗体常用属性和方法有哪些”这篇文章吧。在追求编写高级代码的时候大家不要
2023-06-17

Node.js中process模块常用的属性和方法

前言 虽然node对操作系统做了很多抽象的工作,但是你还是可以直接和他交互,比如和系统中已经存在的进程进行交互,创建工作子进程。node是一个用于事件循环的线程,但是你可以在这个事件循环之外创建其他的进程(线程)参与工作。 如果不是和命令行
2022-06-04

java中序列化与反序列化的概念和使用方法介绍

这篇文章主要介绍“java中序列化与反序列化的概念和使用方法介绍”,在日常操作中,相信很多人在java中序列化与反序列化的概念和使用方法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中序列化与反序
2023-06-20

C++ 函数声明中的属性列表:掌握函数行为的定制方法

在 c++++ 中,函数声明中的属性列表允许自定义函数行为,提供对以下方面的细粒度控制:异常处理(noexcept)函数类型(const/override/final)编译器优化(nodiscard/maybe_unused)C++ 函数声
C++ 函数声明中的属性列表:掌握函数行为的定制方法
2024-05-02

WebBrowser控件的常用方法、属性和事件是什么

这篇文章主要介绍“WebBrowser控件的常用方法、属性和事件是什么”,在日常操作中,相信很多人在WebBrowser控件的常用方法、属性和事件是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”WebBr
2023-06-17

使用position属性实现多列布局的方法和技巧

如何使用position属性实现多列布局在Web开发中,实现多列布局是非常常见的需求。使用position属性可以轻松地实现这一目标,本文将介绍如何使用position属性来实现多列布局,并提供具体的代码示例。在开始之前,我们先来了解一下p
使用position属性实现多列布局的方法和技巧
2023-12-26

Vue实例对象的常用属性和方法是什么

这篇“Vue实例对象的常用属性和方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue实例对象的常用属性和方法是什么
2023-07-06

Python中lambda表达式的简要介绍和详细使用方法

Python中lambda函数的简介与用法详解在Python中,lambda函数是一种特殊的匿名函数,它可以在需要函数对象的任何地方使用。lambda函数通常用来定义一些简单的函数,它们可以只有一个表达式,并且返回结果。本文将向您介绍la
Python中lambda表达式的简要介绍和详细使用方法
2024-02-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录