C# 中操作集合的方法
-
Add:向集合中添加元素。
List<int> numbers = new List<int>(){ 1, 2, 3 }; numbers.Add(4); // numbers 现在为 { 1, 2, 3, 4 } -
Remove:从集合中移除指定的元素。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; numbers.Remove(3); // numbers 现在为 { 1, 2, 4 } -
Contains:检查集合中是否包含指定的元素。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; bool containsThree = numbers.Contains(3); // containsThree 为 true -
Clear:从集合中移除所有元素。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; numbers.Clear(); // numbers 现在为空集合 {} -
Count:获取集合中元素的数量。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; int count = numbers.Count; // count 现在为 4 -
Sort:对集合进行排序。
List<int> numbers = new List<int>(){ 3, 2, 4, 1 }; numbers.Sort(); // numbers 现在为 { 1, 2, 3, 4 } -
Reverse:反转集合中元素的顺序。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; numbers.Reverse(); // numbers 现在为 { 4, 3, 2, 1 } -
Find:查找符合指定条件的第一个元素。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; int evenNumber = numbers.Find(x => x % 2 == 0); // evenNumber 现在为 2 -
FindAll:查找符合指定条件的所有元素。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; List<int> evenNumbers = numbers.FindAll(x => x % 2 == 0); // evenNumbers 现在为 { 2, 4 } -
FindIndex:查找符合指定条件的第一个元素的索引。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; int index = numbers.FindIndex(x => x % 2 == 0); // index 现在为 1(等于2的索引) -
FindLast:查找符合指定条件的最后一个元素。
List<int> numbers = new List<int>(){ 1, 2, 3, 4, 2 }; int lastNumber = numbers.FindLast(x => x == 2); // lastNumber 现在为 2 -
FindLastIndex:查找符合指定条件的最后一个元素的索引。
List<int> numbers = new List<int>(){ 1, 2, 3, 4, 2 }; int lastIndex = numbers.FindLastIndex(x => x == 2); // lastIndex 现在为 4(等于2的最后一个索引) -
TrueForAll:判断集合中的所有元素是否都满足指定条件。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; bool allEven = numbers.TrueForAll(x => x % 2 == 0); // allEven 为 false -
Exists:判断集合中是否存在满足指定条件的元素。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; bool evenExists = numbers.Exists(x => x % 2 == 0); // evenExists 为 true -
Distinct:从集合中排除重复的元素。
List<int> numbers = new List<int>(){ 1, 2, 2, 3, 3, 4 }; List<int> distinctNumbers = numbers.Distinct().ToList(); // distinctNumbers 现在为 { 1, 2, 3, 4 } -
Union:合并两个集合,生成一个包含两个集合中唯一元素的新集合。
List<int> numbers1 = new List<int>(){ 1, 2, 3 }; List<int> numbers2 = new List<int>(){ 3, 4, 5 }; List<int> uniqueNumbers = numbers1.Union(numbers2).ToList(); // uniqueNumbers 现在为 { 1, 2, 3, 4, 5 } -
Intersect:获取两个集合中共有的元素。
List<int> numbers1 = new List<int>(){ 1, 2, 3 }; List<int> numbers2 = new List<int>(){ 3, 4, 5 }; List<int> commonNumbers = numbers1.Intersect(numbers2).ToList(); // commonNumbers 现在为 { 3 } -
Except:从第一个集合中移除在第二个集合中存在的元素。
List<int> numbers1 = new List<int>(){ 1, 2, 3, 4 }; List<int> numbers2 = new List<int>(){ 3, 4, 5 }; List<int> remainingNumbers = numbers1.Except(numbers2).ToList(); // remainingNumbers 现在为 { 1, 2 } -
Concat:将两个集合连接为一个新的集合。
List<int> numbers1 = new List<int>(){ 1, 2, 3 }; List<int> numbers2 = new List<int>(){ 4, 5 }; List<int> combinedNumbers = numbers1.Concat(numbers2).ToList(); // combinedNumbers 现在为 { 1, 2, 3, 4, 5 } -
Aggregate:使用指定的函数将集合中的元素聚合为一个值。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; int sum = numbers.Aggregate((x, y) => x + y); // sum 现在为 10 -
Any:判断集合中是否存在满足指定条件的元素。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; bool anyEven = numbers.Any(x => x % 2 == 0); // anyEven 为 true -
All:判断集合中的所有元素是否都满足指定条件。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; bool allEven = numbers.All(x => x % 2 == 0); // allEven 为 false -
Min:获取集合中的最小值。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; int min = numbers.Min(); // min 现在为 1 -
Max:获取集合中的最大值。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; int max = numbers.Max(); // max 现在为 4 -
Average:计算集合中元素的平均值。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; double average = numbers.Average(); // average 现在为 2.5 -
Sum:计算集合中元素的总和。
List<int> numbers = new List<int>(){ 1, 2, 3, 4 }; int sum = numbers.Sum(); // sum 现在为 10
请注意,示例中使用的集合类型为List<int>,其他数据类型和集合类型也可以按照类似的方式使用这些操作方法。
相关文章:
C# 中操作集合的方法
Add:向集合中添加元素。 List<int> numbers new List<int>(){ 1, 2, 3 }; numbers.Add(4); // numbers 现在为 { 1, 2, 3, 4 }Remove:从集合中移除指定的元素。 List<int> numbers new List<int>(){ 1, 2, 3, 4 }; numbers.Re…...
pytorch学习(8)——现有网络模型的使用以及修改
1 vgg16模型 1.1 vgg16模型的下载 采用torchvision中的vgg16模型,能够实现1000个类型的图像分类,VGG模型在AlexNet的基础上使用3*3小卷积核,增加网络深度,具有很好的泛化能力。 首先下载vgg16模型,python代码如下&…...
get和post请求的区别
GET和POST是HTTP请求的两种方法,其区别如下 ① GET请求表示从指定的服务器中获取数据(请求数据),比如查询用户信息;POST请求表示将数据提交到指定的服务器进行处理(发送数据), ② GET请求是一个幂等的请求,一般用于对服务器资源不会产生影响的场景,比如说请求一个网友的…...
extern “C”关键字的作用
目录 概述C和C在函数调用和变量命名等方面的差异示例总结 概述 extern "C"是用于在C中声明使用C语言编写的函数和变量的关键字。C和C在函数调用和变量命名等方面存在一些差异,为了在C代码中正确地使用C语言的函数和变量,需要使用extern "…...
使用ffmpeg截取视频片段
本文将介绍2中使用ffmpeg截取视频的方法 指定截取视频的 开始时间 和 结束时间,进行视频截取指定截取视频的 开始时间 和 截取的秒数,进行视频截取 两种截取方式的命令行如下 截取某一时间段视频 优先使用 ffmpeg -i ./input.mp4 -c:v libx264 -crf…...
Python教程(11)——Python中的字典dict的用法介绍
dict的用法介绍 创建字典访问字典修改字典删除字典字典的相关函数 列表虽然好,但是如果需要快速的数据查找,就必须进行需要遍历,也就是最坏情况需要遍历完一遍才能找到需要的那个数据,时间复杂度是O(n),显然这个速度是…...
三道dfs题
一:1114. 棋盘问题 - AcWing题库 分别枚举行和列,能填的地方就填,dfs就行 #include <iostream> using namespace std;const int N 10; char g[N][N]; int n, k; int res; bool st[N];void dfs(int u, int cnt) // u枚举行 {if(cnt …...
Seaborn数据可视化(四)
目录 1.绘制箱线图 2.绘制小提琴图 3.绘制多面板图 4.绘制等高线图 5.绘制热力图 1.绘制箱线图 import seaborn as sns import matplotlib.pyplot as plt # 加载示例数据(例如,使用seaborn自带的数据集) tips sns.load_dataset("t…...
kubernetes deploy standalone mysql demo
kubernetes 集群内部署 单节点 mysql ansible all -m shell -a "mkdir -p /mnt/mysql/data"cat mysql-pv-pvc.yaml apiVersion: v1 kind: PersistentVolume metadata:name: mysql-pv-volumelabels:type: local spec:storageClassName: manualcapacity:storage: 5Gi…...
【Map】Map集合有序与无序测试案例:HashMap,TreeMap,LinkedHashMap(121)
简单介绍常用的三种Map:不足之处,欢迎指正! HashMap:put数据是无序的; TreeMap:key值按一定的顺序排序;数字做key,put数据是有序,非数字字符串做key,put数据…...
TiDB Serverless Branching:通过数据库分支简化应用开发流程
2023 年 7 月 10 日,TiDB Serverless 正式商用。这是一个完全托管的数据库服务平台(DBaaS),提供灵活的集群配置和基于用量的付费模式。紧随其后,TiDB Serverless Branching 的测试版也发布了。 TiDB Serverless Branc…...
运用亚马逊云科技Amazon Kendra,快速部署企业智能搜索应用
亚马逊云科技Amazon Kendra是一项由机器学习(ML)提供支持的企业搜索服务。Kendra内置数据源连接器,支持快速访问Amazon S3、AmazonRDS、AmazonFSX以及其他外部数据源,帮助用户自动提取文档并建立索引。Kendra支持超过30多种多国语…...
C# 使用 OleDbConnection 连接读取Excel的方法
Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。 (1)Sqlconnetcion类的对象连接是SQL Server数据库; (2)OracleConnection类的对象连接Oracle数据库&…...
【LeetCode-中等题】98. 验证二叉搜索树
文章目录 题目方法一:BFS 层序遍历方法二: 递归方法三: 中序遍历(栈)方法四: 中序遍历(递归) 题目 思路就是首先得知道什么是二叉搜索树 左孩子在(父节点的最小值&#x…...
Leetcode-每日一题【剑指 Offer 37. 序列化二叉树】
题目 请实现两个函数,分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。 …...
删除无点击数据offer数据分析使用
梳理思路: 1、 获取 7month 和 8month fullreport 报表中 所有offer;输出结果:offerid, totalClickCount; 2、 分析数据7month totalClickCount0 and 8month totalClickCount0 的offer去除; result.…...
【Apollo学习笔记】——规划模块TASK之SPEED_BOUNDS_PRIORI_DECIDER
文章目录 前言SPEED_BOUNDS_PRIORI_DECIDER功能简介SPEED_BOUNDS_PRIORI_DECIDER相关配置SPEED_BOUNDS_PRIORI_DECIDER流程将障碍物映射到ST图中ComputeSTBoundary(PathDecision* path_decision)ComputeSTBoundary(Obstacle* obstacle)GetOverlapBoundaryPointsComputeSTBounda…...
物理机ping不通windows server 2012
刚才尝试各种方法,在物理机上就是ping不能wmware中的windows server 2012 . 折腾了几个小时,原来是icmp 被windows server 2012 禁用了 现在使用使用以下协议就能启用Icmp协议。 netsh firewall set icmpsetting 8然后,就能正常ping 通虚…...
誉天HCIE-Datacom丨为什么选择誉天数通HCIE课程学习
大家好,我是誉天HCIE-Datacom的一名学员,在2022年觉得自己技术水平不够,想要提升自己,经朋友介绍在誉天报的名。 听朋友说誉天的阮Sir的课讲的非常好,我在B站上看了几节阮老师的课确实比之前在听得其他机构的课程讲的要…...
Python文本终端GUI框架详解
今天笔者带大家,梳理几个常见的基于文本终端的 UI 框架,一睹为快! Curses 首先出场的是 Curses。 Curses 是一个能提供基于文本终端窗口功能的动态库,它可以: 使用整个屏幕 创建和管理一个窗口 使用 8 种不同的彩色 为程序提供…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
