C# 列表List的常用属性和方法介绍
作者:戒生 发布时间:2022-09-04 07:52:05
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);
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/qq_40985921/article/details/84402418


猜你喜欢
- C#中+=是什么意思在C#中, "+="有两种运用场合。第一种,用在数值后面作为逻辑运算符,自加变量,如:int i=0
- 一、安装本地Maven选择你需要的maven版本下载:官网下载传送门我使用的是3.6.1版本:maven-3.6.1-bin.zip&nbs
- 如图,刚开始报错获取不到bean因为配置文件1、原因一: *.properties等没有值,还是用${变量的}。获取不到,于是把所有值复制到
- 老生常谈的配置 但是还是需要说明一下EurekaApplication @EnableEurekaServer指定为server端
- package com.qhdstar.java.pdf;import java.awt.Color;import java.io.File
- 前言Android6.0代号棉花糖。尽管是在15年I/O大会上Google被正式发布的了。但是看看大多数人的项目中大家的 targetSdk
- 本文实例为大家分享了UGUI绘制平滑曲线的具体代码,供大家参考,具体内容如下绘制实现自定义的MaskableGraphic挂载在UGUI的U
- 最近在玩3g体育门户客户端的时候,看到这样个效果: 轻触赛事图标,会有一个图标变大浮出的效果.,蛮有意思的.于是就把仿照它做了一
- Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。一、当两个并发线程访问同一个
- 工欲善其事,必先利其器,对于想要深入学习Android源码,必须先掌握Android编译命令.一、引言关于Android Build系统,这
- 首先看如下代码示例:System.out.println(0.05 + 0.01);System.out.println(0.05 - 0.
- C#动态webservice调用接口using System;using System.Collections;using System.I
- 这篇文章主要介绍了spring cloud gateway请求跨域问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 用法一:常量在JDK1.5之前,我们定义常量都是:publicstaticfianl....。现在好了,有了枚举,可以把相关的常量分组到一个
- 先来看一个名为Message的类在这个类中有一段包含在companion object中的代码,需要说一下的是,Kotlin的cl
- mybatis介绍 * 的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截
- 首先我们看一下hibernate的主配置文件<!DOCTYPE hibernate-configuration PUBLIC &nbs
- AppWidgetProvider 用来在HOME页面显示插件实现步骤:1、为AppWidget提供一个元布局文件AppWigdetProv
- 前言在这个系列博客的第二篇的最后部分提到了预布局,在预布局阶段,计算剩余空间时会把将要移除的 ViewHolder 忽略,从而计算出递补的
- struct OutputFilestruct OutputFile 是单个输出文件的管理器。之前在 parse_opt