泛型列表相关知识

news2024/9/21 0:37:55
集合

C#中集合是指在system.Collection下的类型,他们大多数是通过实现此命名空间下的接口来实现的。

C#集合是来维护一组对象的数据结构,与数组不同,集合包含更多的功能。如:自动添加元素到指定位置,排序等。

泛型集合

C#中泛型集合是指在system.Collection.Generic下的类型,他们在具体的集合类型的特性上增加了泛型的特性。泛型集合相对于集合更安全,性能更好。

泛型列表
List<数据类型> 列表名=new List<数据类型>(可填写初始长度)

属性:

Count:代表这个列表实际包含多少元素。

Capacity:代表这个列表可以包含多少个元素。

方法:

Add();   在列表末尾添加一个元素。

Remove: 删除指定的元素。

RemoveAt:删除下标号指定的元素。

Contains:检测是否包含这个元素。

IndexOf:从头开始查找第一个匹配项的下标号,没找到返回-1。

LastIndexOf:从尾开始查找第一个匹配项的下标号,没找到返回-1。

Insert:在指定Index的位置,插入这个元素。

Reverse: 反转当前列表的排列顺序。

Sort排序

查/改:索引器[下标号]

实例:实现List的IndexOf方法和LastIndexOf方法

    class Program
    {
        public static int indexOf(List<int> list,int a)
        {
            for(int i=0;i<list.Count;i++)
            {
                if (list[i] == a)
                {
                    return i;
                }
            }
            return -1;
        }
        public static int lastIndexOf(List<float> listF,float b)
        {
            for(int i = listF.Count-1; i >=0; i--)
            {
                if (listF[i] == b)
                {
                    return i;
                }    
            }
            return -1;
        }
        static void Main(string[] args)
        {
            List<int> list = new List<int>();
            int a1, a2, a3, a4;
            a1 = 5;
            a2 = 10;
            a3 = 15;
            a4= 20;
            list.Add(a1);
            list.Add(a2);
            list.Add(a3);
            list.Add(a4);
            int index=indexOf(list,a3);
            List<float> floats= new List<float>();
            float b1, b2;
            b1 = 1;
            b2 = 2;
            floats.Add(b1);
            floats.Add(b2);
            int lastIndex = lastIndexOf(floats, b2);
            Console.WriteLine(index);
            Console.WriteLine(lastIndex);
        }
    }

运行结果为:

该系列专栏为网课课程笔记,仅用于学习参考。 

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

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

相关文章

企业级WEB应用服务器---TOMACT

一、WEB技术介绍 1.1 Http和B/S结构 操作系统一般都有子进程系统&#xff0c;使用多进程就可以充分利用硬件资源&#xff0c;提高效率。在前面的学习中我们了解到进程中可以有多个线程&#xff0c;且每一个线程都可以被CPU调度执行&#xff0c;这样就可以让程序并行执行。一台…

深入浅出孪生神经网络,高效训练模型

大家好&#xff0c;在深度学习领域&#xff0c;神经网络几乎能处理各种任务&#xff0c;但通常需要依赖于海量数据来达到最佳效果。然而&#xff0c;对于像面部识别和签名验证这类任务&#xff0c;我们不可能总是有大量的数据可用。由此产生了一种新型的神经网络架构&#xff0…

【自考zt】【数据结构】【22.04】

一、单选 二、填空 三、解答 四、算法阅读 五、算法设计

【Flutter】解决第一次运行项目很慢(gradle需要下载依赖)

配置gradle默认下载路径 默认下C盘谁顶得住 配置环境变量 名称: GRADLE_USER_HOME 值: D:\Develop\gradle 自己创建一个 下边是重点 配置gradle远端下载地址 后边版本号自己换 https://mirrors.cloud.tencent.com/gradle/ https://mirrors.cloud.tencent.com/gradle/gradl…

Matlab 一维层状声子晶体振动传输特性

一维声子晶体的传递矩阵法是一种用于研究声波在一维周期性结构中传播的方法。这种方法基于‌波动方程和周期性边界条件&#xff0c;通过计算声波在不同介质中的传播特性&#xff0c;进而分析声子晶体的带隙结构。传递矩阵法可以有效地预测声波在一维声子晶体中的传播行为&#…

利用AI大语言模型和Langchain开发智能车算法训练知识库(上篇)

今天小李哥将介绍亚马逊云科技的Jupyter Notebook机器学习托管服务Amazon SageMaker上&#xff0c;通过AI大语言模型、向量知识库和LangChain Agent&#xff0c;创建用于AI 智能车模型训练的RAG问答知识库。整个项目的架构图如下&#xff1a; 本系列共分为上下两篇。在上篇内容…

Java中的强引用、软引用、弱引用和虚引用于JVM的垃圾回收机制

参考资料 https://juejin.cn/post/7123853933801373733 在 Java 中&#xff0c;引用类型分为四种&#xff1a;强引用&#xff08;Strong Reference&#xff09;、软引用&#xff08;Soft Reference&#xff09;、弱引用&#xff08;Weak Reference&#xff09;和虚引用&#xf…

5G移动网络运维实验(训)室解决方案

随着第五代移动通信技术&#xff08;5G&#xff09;的快速普及和工业互联网的迅猛发展&#xff0c;全球制造业正面临着前所未有的深刻变革。5G技术凭借其超高的传输速率、极低的延迟以及大规模的连接能力&#xff0c;为工业自动化、智能制造等领域带来了革命性的技术支持。为了…

【免费分享】GIS开发面试题(流程+自我介绍+基础篇+Openlayermapbox)

本篇文章针对GIS应届生就业方向及面试困惑问题进行了收集整理&#xff0c;并列出了关于GIS开发面试中常见的问题&#xff08;含答案&#xff09;。 “ 包括以下内容 前言 简介 面试之前 面试流程 自我介绍-AI 基础篇 1、GIS八股文基础篇 2、Openlayers图形绘制 3、倾…

2-1 opencv实战进阶系列 阈值编辑器

目录 一、不说废话&#xff0c;先上现象 二、前言 三、方法详解 四、贴出完整代码 一、不说废话&#xff0c;先上现象 二、前言 对图像的处理中&#xff0c;设置合适的掩膜、寻找多边形、颜色追踪等方法都需要预先设置好颜色的上阈值和下阈值&#xff0c;来从原图中分割出…

蔚来发布新财报,亏损收窄,营收同比增长98.9%!

KlipC报道&#xff1a;9月5日&#xff0c;蔚来发布2024年二季度财报&#xff0c;财报显示&#xff0c;营收174.5亿元&#xff0c;同比增长98.9%&#xff0c;环比增长76.1%&#xff1b;交付量5.74万台&#xff0c;同比增长143.9%&#xff0c;环比增长90.9%&#xff1b;营收和交付…

Yolov5实现目标检测——调用官方权重进行检测

本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊 一 安装源码 开源网址&#xff1a;GitHub - ultralytics/yolov5: YOLOv5 &#x1f680; in PyTorch > ONNX > CoreML > TFLite ​ 二 安装所需环境 安装环境依赖包&#xff0c;进入项目…

探索Mem0:下一代人工智能与机器学习内存管理基础设施(二)Mem0+Ollama 部署运行

探索Mem0:下一代人工智能与机器学习内存管理基础设施(二) Mem 0(发音为“mem-zero”)通过智能记忆层增强AI助手和代理,实现个性化的AI交互。Mem 0会记住用户偏好,适应个人需求,并随着时间的推移不断改进,使其成为客户支持聊天机器人,AI助手和自治系统的理想选择。 …

[Mdp] lc198. 打家劫舍(记忆化搜索+dp)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接&#xff1a;198. 打家劫舍 前置&#xff1a; [每日一题] 146. 打家劫舍(数组、动态规划、巧妙解法) 2. 题目解析 记忆化搜索可以处理&#xff0c;是自顶向下进行枚举的&#xff0c;属于 递归。 动态规划&#xff0c;属于…

Nuxt3服务端渲染项目简单搭建

目录 1.准备阶段 2.创建项目 3.安装需要的模块 1&#xff09;安装ArcoDesign/ElementPlus 2&#xff09;安装tailwindcss 4.目录结构 5.网站TDK设置 本篇文章相关的官方网站&#xff1a; 1.nuxt3&#xff1a;Nuxt 中文站 - 直观的Web框架 Nuxt3文档 Nuxt 2.vue3&#xf…

fpga系列 HDL:Vivado 安装usb cable驱动

安装usb cable驱动 安装cable_drivers:在data\xicom\cable_drivers\nt64\dlc10_win7目录 安装digilent

数据分析-12-多个时间序列数据的时间戳对齐以及不同的方式补点

参考python时间序列数据的对齐和数据库的分批查询 1 问题场景与分析 1.1 场景 在医院的ICU里,须要持续观察病人的各项生命指标。这些指标的采集频率每每是不一样的(例如有些指标隔几秒采集一个,有些几个小时采集一个,有些一天采集一个),并且有些是按期的,有些是不按期的…

SpringMVC基于注解使用:上传下载

01-文件下载 基于servlet api的文件下载 注意一点content-disposition是以文件下载的方式打开意思是客户端地址栏不会改变&#xff0c; 如果注销了那句话就会跳转到下载图片的图片里面去&#xff0c;就在网页中显示了 基于spring ResponseEntity的文件下载 不支持缓冲区 一次…

使用 OpenCV 和 NumPy 进行图像处理:HSV 范围筛选实现PS抠图效果

使用 OpenCV 和 NumPy 进行图像处理&#xff1a;HSV 范围筛选实现PS抠图效果 在计算机视觉和图像处理领域&#xff0c;OpenCV 是一个非常强大的库&#xff0c;能够帮助我们执行各种图像操作。在这篇博客中&#xff0c;我们将通过一个简单的示例演示如何使用 OpenCV 和 NumPy 来…

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention 文章目录 一、基本原理1. 变分模态分解&#xff08;VMD&#xff09;2. 双向时域卷积&#xff08;BiTCN&#xff09;3. 双向门控单元&#xff08;BiGRU&#xff09;4. …