C#知识|泛型集合List相关方法

ops/2024/10/18 22:33:28/

哈喽,你好,我是雷工!
以下为泛型集合List相关方法的学习笔记。

01 集合定义

集合定义的时候,无需规定元素的个数。

02 泛型说明

泛型表示一种程序特性,也就是在定义的时候,无需指定特定的类型,而在使用的时候,必须明确类型。

03 泛型的应用场合

可以应用在集合中,方法中 、类中;

04、泛型集合的表示:

05、泛型集合的要求:

添加到集合中的元素类型,必须和泛型集合定义时规定的数据类型完全一致。

在这里插入图片描述

06、泛型List相关示例

示例1:

List<Course>courseList=new List<Course>();
courseList.Add(course10);
courseList.Add(course11);
courseList.Add(course12);
courseList.Add(course13);
courseList.Add(course14);

示例2:使用集合初始化器,将元素一次性的初始化到集合中

List<Course>courseList=new List<Course>(){course10,course11,course12,course13,course14};

示例3:如何将数组中的元素添加到集合中

数组:

Course[] courseArray1=new Course[]{Course>(){course10,course11,course12,course13,course14};

集合:

List<Course>courseList=new List<Course>(){course10,course11,course12,course13,course14};

将数组中的元素添加到集合中代码:

List<Course>courseListFromArray=new List<Course>();
courseListFromArray.AddRange(courseArray1)

示例4:如何将集合能否转换到数组

Course[] courseArray2=courseList.ToArray();

示例5:数组如何直接转换到集合:

List<Course> courseList3=courseArray2.ToList();

示例6:泛型List集合删除元素:

courseList.Remove(course3);//移除courseList集合中的course3元素;
courseList.RemoveAt(3);//移除courseList集合中标号3的元素(标号从0开始);
courseList.RemoveAt(1,3);//移除courseList集合中标号1开始的3个元素;

07 、集合遍历的两种方式:
方式1:

public void TraversalList1(List<Course>courseList)
{for(int i =0;i<=courseList.Count;i++){Console.WriteLine($"{courseList[i].CourseId}\t{courseList[i].CourseName}");}
}

方式2:

public void TraversalList1(List<Course>courseList)
{foreach (Course item in courseList){Console.WriteLine($"{courseList[i].CourseId}\t{courseList[i].CourseName}");}
}

08 、集合快速查询发方法

public void QueryElements(List<Course>courseList)
{//集合查询方法1List<Course> result1= courseList.FindAll(c#>c.CourseId>2024)//集合查询方法2var result2= from c in courseList where c.CourseId>2024 select c;//var在C#中为推断类型,根据赋值的数据推断;  
}

http://www.ppmy.cn/ops/27836.html

相关文章

Ubuntu 24.04 LTS (Noble Numbat) 正式版发布

Ubuntu 24.04 LTS (Noble Numbat) 正式版发布 Canonical 的第 10 个长期支持版本在性能工程、企业安全和开发人员体验方面树立了新标准 请访问原文链接&#xff1a;Ubuntu 24.04 LTS (Noble Numbat) 正式版发布&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。…

浅谈 HTTPS

文章目录 HTTPS 简介HTTPS 特点与 HTTP 的区别HTTPS 工作流程1. 服务端生成密钥对2. 服务端申请数字证书3. 服务端发送数字证书4. 客户端验证数字证书5. 客户端解析证书内容6. 客户端传送加密信息7. 服务端解密信息8. 双方协商生成会话密钥并交换9. 使用会话密钥进行通信 总结 …

Linux基础 -- 跨平台原子操作:ARM 汇编与 C 语言集成

1. 汇编语言实现 首先&#xff0c;你需要用 ARM 汇编语言编写比较并交换的功能。这里以 ARMv8 架构为例&#xff0c;因为它直接支持 64 位操作&#xff0c;并且可以较容易地适配 32 位。 // cas.S // 实现 32 位和 64 位的比较并交换函数 .text .global cas32 .global cas64/…

NLP(11)--词向量

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 one-hot 编码 i love u [1,2,3] 词向量训练目标&#xff1a; 如果两个词在文本出现&#xff0c;它的前后出现的词相似&#xff0c;则这两个词语义相似 cbow(基于窗口预测词)缺点 :输出层是vocab_size 会很大 收敛速度会很慢…

微信工具箱小程序多功能集合一体源码

介绍&#xff1a; 这是一款多功能集合一体工具箱小程序源码 1.短视频去水印&#xff1b; 2.运动步数查询&#xff1b; 3.网易云评论&#xff1b; 4.套图下载&#xff1b; 5.毒鸡汤,土味情话,舔狗日记等等功能组合成&#xff1b; 另外该小程序运营成本低可以说没有运营成…

LINUX基础培训三十一之实操题模拟测试试卷

一、前言 针对前面章节介绍的基础知识内容,为方便实操锻炼和了解学习的掌握程度,模拟设置了这条基础操作题,在实战过程中曾给部分童鞋实操测试过。本章只给出具体题目内容,实际做题还需要搭建部署对应实操模拟环境以及设置自动评分功能,此处略过没写了,因为环境和评分都跟…

hadoop学习---基于hive的聊天数据分析报表可视化案例

背景介绍&#xff1a; 聊天平台每天都会有大量的用户在线&#xff0c;会出现大量的聊天数据&#xff0c;通过对聊天数据的统计分析&#xff0c;可以更好的对用户构建精准的用户画像&#xff0c;为用户提供更好的服务以及实现高ROI的平台运营推广&#xff0c;给公司的发展决策提…

第三章、汇编1

编译选项知识 -Og&#xff1a;这是 GCC 和 Clang 编译器提供的优化选项之一。-Og 的含义是“优化级别为 g”&#xff0c;其中的 “g” 代表了"g优化"。这个选项的作用是启用一些基本的优化&#xff0c;以尽量保持生成的代码易读易调试。它通常会保留变量名和源代码结…