当前位置: 首页 > news >正文

c#ArrayList

1ArrayList概念

ArrayList本质上是一个Object数组的封装

ArrayList可以不用一开始就定长,单独使用数组是定长的

数组可以指定存储类型,ArrayList默认为object类型

数组的增删查改需要自己实现,ArrayList是封装好的API

ArrayList使用时存在装箱拆箱,数组使用时只要不是Object数组那就不存在这个问题

数组长度为Length,ArrayLIst长度为Count

2 申明

需要引用命名空间using System.Collections;

ArrayList array = new ArrayList();

3增删查改

array.Add(1); array.Add("123"); array.Add(true); array.Add(new object());

移除指定元素 从头找 找到删

array.Remove(1);

移除指定位置的元素

array.RemoveAt(2);

清空

array.Clear();

得到指定位置的元素

Console.WriteLine(array[0]);

查看元素是否存在

if( array.Contains("1234") ) { Console.WriteLine("存在123"); }

正向查找元素位置

找到的返回值 是位置 找不到 返回值 是-1

int index = array.IndexOf(true); Console.WriteLine(index); Console.WriteLine(array.IndexOf(false));

反向查找元素位置

返回时从头开始的索引数

index = array.LastIndexOf(true); Console.WriteLine(index);

直接改对应索引值

array[0] = "999"; Console.WriteLine(array[0]);

遍历

for (int i = 0; i < array.Count; i++) { Console.WriteLine(array[i]); } //迭代器遍历 foreach (object item in array) { Console.WriteLine(item); }

装箱拆箱

ArrayList本质上是一个可以自动扩容的object数组,
由于用万物之父来存储数据,自然存在装箱拆箱。
当往其中进行值类型存储时就是在装箱,当将值类型对象取出来转换使用时,就存在拆箱。
所以ArrayList尽量少用,之后我们会学习更好的数据容器。

int k = 1; array[0] = k;//装箱 k = (int)array[0];//拆箱
http://www.jsqmd.com/news/611183/

相关文章:

  • ooderAgent 龙虾时代的统一认证体系
  • 软件测试技术之跨平台的移动端UI自动化测试(上)
  • OpenClaw+gemma-3-12b-it:自动化学习笔记整理与知识图谱构建
  • OpenClaw 2026.4.7 发布:CLI 推理工作流、Wiki 记忆系统与大量安全加固
  • Qwen3.5-9B-AWQ-4bit惊艳效果展示:高清图识+中文摘要真实案例集
  • 包头最靠谱广告公司甄选指南:首推内蒙古塞天使广告有限公司
  • 实时手机检测-通用部署案例:中小企业监控场景中手机识别落地解析
  • SDMatte GPU资源监控实践:显存占用分析与服务稳定性保障
  • 钻孔组合机床设计
  • Wan2.2-I2V-A14B部署教程:解决CUDA版本冲突与驱动不兼容问题
  • 和AI一起搞事情#:边剥龙虾边做个中医技能来起号缓
  • Chord视频理解工具GPU适配:CUDA Graph优化减少内核启动开销
  • MySQL主从延迟根因诊断与优化实战
  • Phi-4-mini-reasoning惊艳效果集:128K上下文下的逻辑链生成真实案例
  • 04 - Python入门 - 函数
  • 从PCBA到整机:创美佳数字制造一站式代工实力解析
  • 【2026 Python开发者必抢资源】:全球仅3家机构掌握的AOT符号保留调试技术,让GDB直接调试.py源码级变量(附内测工具链下载密钥)
  • 视频高清直播点播/云直播EasyDSS:一站式视频云平台全链路整合,重塑企业视频应用新生态
  • 别再死记公式了!用C++手把手实现DEM软球碰撞模型(附完整代码与避坑指南)
  • 实测麦橘超然Flux:20步生成高质量图像的秘密与技巧
  • nli-distilroberta-base在智能客服中的应用:自动判断用户意图与诉求
  • 高温老化房的热风循环,怎样才没有死角?冠德机械详解加热器外形与风阻的博弈
  • 开源智能手表开发全解析:ESP32-S3与传感器集成
  • 次元画室创意社交:如何在社区展示你的角色构思方案
  • 南邮计科电工电子实验B《动态显示电路》实验报告
  • Wan2.1-T2V-1.3B-部署
  • 以光为笔,精雕细刻:光谷激光打标机,赋能中国智造的精密“标识者”
  • Wan2.2-I2V-A14B入门指南:WebUI中多语言Prompt支持与编码配置
  • .NET 9原生AOT在Raspberry Pi 5上的极限压测:从128MB到19.3MB的7步精简路径
  • OpenClaw参数详解:Qwen3.5-9B-AWQ-4bit模型配置的20个关键字段