c# 学习笔记 - 集合(List)

文章目录

    • 1.概论
      • 1.1 List 特性
      • 1.2 .NET API
    • 2. 基本使用
      • 2.1 样例
    • 3. 添加类操作
      • 3.1 Insert()
    • 4. 删除类操作
      • 4.1 Remove()
      • 4.2 RemoveAt()
    • 5. 查找类操作
    • 6. 排序类操作
      • 6.1 Sort(Comparsion<T>)
    • 7. 其他类操作

1.概论

1.1 List 特性

  1. 可通过索引访问的强类型列表,可以对列表进行搜索、排序和相关操作

1.2 .NET API

  API介绍
在这里插入图片描述
 .NET API参考

2. 基本使用

2.1 样例

class Test{static void print(List<int> list) {for(int i = 0; i < list.Count; i ++) { // Count获取实际存储元素个数Console.WriteLine(list[i]); // 0 1 2 -- 读取操作}}static void Main(){List<int> list = new List<int>(3); // 集合for(int i = 0; i < list.Capacity; i++ ) list.Add(i); // Capacity 集合最大存储量, Add()元素添加print(list);}
}

3. 添加类操作

3.1 Insert()

public void Insert (int index, T item);
1. 在指定索引 index 前插入元素 item

4. 删除类操作

4.1 Remove()

public bool Remove (T item);
1. 删除List集合当中第一次出现的item元素
2. 成功删除返回true,否则返回false

4.2 RemoveAt()

public void RemoveAt (int index);
1. 删除指定索引位置的元素(索引必须合法,否则报错)

5. 查找类操作

6. 排序类操作

6.1 Sort(Comparsion)

public void Sort (Comparison<T> comparison);
1. 按照指定的Comparison<T>, 对整个List<T>元素进行排序
2. public delegate int Comparison<in T>(T x, T y); Comparison是一个委托类型, 排序时只需要建立对应的比较	方法即可, 并且对于只需要使用一次的排序方法可以直接使用匿名类型方式书写.
namespace DelegateAppl {class TestDelegate {public static int Comparsion(int x, int y){return x < y ? -1 : 1; // 从小到大排序}static void Main(){List<int> list = new List<int>(10);for(int i = 5; i < 5 + 10; i ++ ) list.Add(i % 10); // 5 6 ...9 0 1 2 3 4list.Sort(Comparsion); // 实现对应委托类型完成比较for(int i = 0; i < list.Count; i++) Console.Write(list[i] + " "); // 0 ~ 9Console.WriteLine();list.Sort(delegate (int x, int y) { // 匿名类型方式完成return x < y ? 1 : -1; // 从大到小排序});for(int i = 0; i < list.Count; i++) Console.Write(list[i] + " "); // 9 ~ 0}}
}

7. 其他类操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32学习笔记二十二:WS2812制作像素游戏屏-飞行射击游戏(12)总结

至此&#xff0c;飞行射击游戏已经基本实现该有的功能&#xff0c;已经比较接近早期的商业游戏了。 如果采用脚本&#xff0c;可以完成关卡游戏&#xff0c;如果不用&#xff0c;也可以做成无限挑战游戏。 我们汇总一下制作的过程&#xff1a; 1、建模UML 2、主循环处理过程…

设计模式篇章(1)——理论基础

设计模式&#xff1a;在软件开发中会面临许多不断重复发生的问题&#xff0c;这些问题可能是代码冗余、反复修改旧代码、重写以前的代码、在旧代码上不断堆新的代码&#xff08;俗称屎山&#xff09;等难以扩展、不好维护的问题。因此1990年有四位大佬&#xff08;GoF组合&…

3的幂00

题目链接 3的幂 题目描述 注意点 无 解答思路 不断除以3直到除数或余数为0为止&#xff0c;判断除完后的数字是否为1 代码 class Solution {public boolean isPowerOfThree(int n) {while (n / 3 ! 0) {if (n % 3 ! 0) {return false;}n n / 3;}return n 1;} }关键点 …

对称加密技术有哪些类型

对称加密是一种加密方式&#xff0c;其加密和解密所使用的密钥是相同的。这种方式的特点是速度快&#xff0c;效率高&#xff0c;适合用于大量数据的加密和解密。对称加密算法有很多种&#xff0c;常见的有AES、DES、3DES等。 对称加密的应用场景非常广泛&#xff0c;下面是一些…

Linux下配置静态ip地址

问题&#xff1a;虚拟机重启后ip地址动态更新&#xff0c;导致连shell十分麻烦 解决&#xff1a; 1. 进入配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 2.1 修改配置 BOOTPROTOstatic ONBOOTyes2.2 新增配置 #ip地址(自定义) IPADDR192.168.149.131 #子网掩码 …

C#的String.ToCharArray 方法

目录 一、定义 二、重载 三、ToCharArray() 1.实例&#xff1a; 2.标准编码 3.其它 四、ToCharArray(Int32, Int32)ToCharArray(Int32, Int32) 1.实例 2.其它 一、定义 名空间&#xff1a; System 程序集&#xff1a; System.Runtime.dll …

2023年12月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:移动路线 桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。 小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁…

一款开源的MES系统

随着工业4.0的快速发展&#xff0c;制造执行系统&#xff08;MES&#xff09;成为了智能制造的核心。今天&#xff0c;将为大家推荐一款开源的MES系统——iMES工厂管家。 什么是iMES工厂管家 iMES工厂管家是一款专为中小型制造企业打造的开源MES系统。它具备高度的可定制性和灵…

[论文笔记] Qwen-7B tokenizer

https://github.com/QwenLM/Qwen/blob/main/tokenization_note_zh.md#%E6%99%AE%E9%80%9Atoken https://huggingface.co/Qwen/Qwen-7B 一、Qwen-7B 介绍 Qwen-7B采用UTF-8字节级别的BPE tokenization方式,并依赖tiktoken这一高效的软件包执行分词。 Qwen-7B中有两类token,即…

Selenium教程:级联选择+日期框+弹框,组件的示例练习

1.Cascader级联选择&#xff0c;通常指的是在多个层级或类别中进行选择&#xff0c;每个层级或类别的选择依赖于前一个层级或类别的选择结果。常用于省市区、公司级层、事务分类等。 网页元素结构 实现代码 # Author : 小红牛 # 微信公众号&#xff1a;WdPython from time i…

消费可靠性投递-confirm确认模式

package com.java1234.producer.config;import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class RabbitMQConfig {/*** direct交换机名称*/p…

KY23 最小花费 DP

DP&#xff0c;比较恼的是题中没说明a、b的范围&#xff0c;不敢轻易用双循环 添加链接描述 #include<bits/stdc.h>using namespace std;#define ll long longconst int INF 1e9 10;int l1, l2, l3, c1, c2, c3, a, b, n;int pri(int d){if(d < l1) return c1;else…

ROS-urdf集成gazebo

文章目录 一、URDF与Gazebo基本集成流程二、URDF集成Gazebo相关设置三、URDF集成Gazebo实操四、Gazebo仿真环境搭建 一、URDF与Gazebo基本集成流程 1.创建功能包 创建新功能包&#xff0c;导入依赖包: urdf、xacro、gazebo_ros、gazebo_ros_control、gazebo_plugins 2.编写URD…

HTML5 Video(视频)

视频格式与浏览器的支持 当前&#xff0c; <video> 元素支持三种视频格式&#xff1a; MP4, WebM, 和 Ogg: 浏览器MP4WebMOggInternet ExplorerYESNONOChromeYESYESYESFirefoxYESYESYESSafariYESNONOOperaYES (从 Opera 25 起)YESYES MP4 带有 H.264 视频编码和 AAC …

HarmonyOS状态管理概述

状态管理概述 在前文的描述中&#xff0c;我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面&#xff0c;就需要引入“状态”的概念。 图1 效果图 上面的示例中&#xff0c;用户与应用程序的交互触发了文本状态变更&#xff0c;状态变更引起了UI渲染&…

C#实现个人账本管理系统

git地址&#xff1a;https://gitee.com/myshort-term/personal-ledger-management-system 1.系统简介 LedgerManagementSystem是一个小型的个人账本管理系统&#xff0c;可对收支项目进行增加、删除、修改、查询以及导入和导出。可对每日的各类收支项目进行汇总并查看和修改收…

STM32 基础知识(探索者开发板)--146讲 IIC

IIC特点&#xff1a; 同步串行半双工通信总线 IIC有一个弱上拉电阻&#xff0c;在主机和从机都没有传输数据下拉时&#xff0c;总线会自动上拉 SCL在低电平期间&#xff0c;改变SDA的值来上传数据&#xff0c;方便SCL电平上升时进行数据读取 SCL在高电平期间&#xff0c;不能…

【蓝桥杯软件赛 零基础备赛20周】第7周——二叉树

文章目录 1 二叉树概念2 二叉树的存储和编码2.1 二叉树的存储方法2.2 二叉树存储的编码实现2.3 二叉树的极简存储方法 3 例题4 习题 前面介绍的数据结构数组、队列、栈&#xff0c;都是线性的&#xff0c;它们存储数据的方式是把相同类型的数据按顺序一个接一个串在一起。简单的…

[Flutter]WindowsPlatform上运行遇到的问题总结

目录 写在开头 正文 Q1、file_version_info.dart Q2、flutter clean &#xff0c;无法删除build文件夹 其他 写在结尾 写在开头 Flutter项目已能在移动端完美使用后&#xff0c;想看看在桌面端等使用情况 基于Flutter3.0后已支持Windows/MacOS/Web等桌面端&#xff0c;不…