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

C# 一维数组完全指南:从声明到实战应用

1. 数组基础概念

数组是C#中最基本且常用的数据结构,用于存储相同数据类型的多个元素。数组名称通常使用复数形式(如ints, names)来增强代码可读性。

2. 数组声明与初始化

2.1 基本声明方式

// 分步声明和初始化 int[] ints; // 声明int类型数组 ints = new int[10]; // 初始化长度为10的数组 char[] chars; // 声明char类型数组 chars = new char[10];

2.2 简化写法

// 声明与初始化合并 double[] doubles = new double[10];

2.3 错误示例

// 错误写法 - 不能在声明时指定长度 // double[10] doubles1 = new double[10];

3. 数组

C#在数组初始化时会自动填充默认值作为占位:

数据类型默认值
数字类型0
bool类型false
char类型'\0'
string类型null
int[] ints1 = new int[10]; // 全部为0 bool[] bools = new bool[10]; // 全部为false char[] chars1 = new char[10]; // 全部为'\0'

4. 数组初始化进阶技巧

4.1 指定初始值

// 明确指定长度和初始值 string[] names = new string[3] { "吴亦凡", "罗志祥", "李易峰" };

4.2 自动长度推断

// 编译器自动推断数组长度 string[] names2 = new string[] { "吴亦凡2", "罗志祥2", "李易峰2" };

4.3 最简写法

// 省略new关键字 string[] names3 = { "吴亦凡3", "罗志祥3", "李易峰3" };

5. 数组操作:索引访问

数组操作基于零基索引(从0开始):

// 数据读取 Console.WriteLine(names[2]); // 输出第三个元素 // 数据设置 names[2] = "hahah"; // 修改第三个元素 Console.WriteLine(names[2]); // 输出"hahah"

6. 实战练习:填充50个偶数

int[] numbers = new int[50]; // 使用循环填充数组 for (int i = 0; i < numbers.Length; i++) { numbers[i] = i * 2; // 生成偶数序列 }

7. 数组遍历方法

7.1 传统for循环遍历

for (int i = 0; i < numbers.Length; i++) { Console.WriteLine($"数组的第{i}位是:{numbers[i]}"); }

7.2 现代foreach遍历(推荐)

foreach (int num in numbers) { Console.WriteLine($"数组元素:{num}"); }

8. 最佳实践与注意事项

  1. 边界检查:始终验证索引范围
  2. Length属性:使用数组名.Length获取长度
  3. 性能考虑:数组在内存中连续存储,访问速度快

9. 扩展学习建议

掌握了基础数组操作后,可以继续学习:

  • 多维数组(二维、三维)
  • 交错数组(数组的数组)
  • Array类的静态方法(Sort、Reverse等)
http://www.jsqmd.com/news/541768/

相关文章:

  • 无网环境部署:OpenClaw离线使用Qwen3.5-4B-Claude-GGUF教程
  • u-blox GPS与Vodafone AT指令双模解析库
  • 坐标xyz, 长宽高
  • Linux文件属性解析与ls -l命令实现
  • 3个核心功能:从效率瓶颈到资源整合的高效管理与智能处理指南
  • 从STM32到RK3588:嵌入式系统升级机制对比全解析
  • OpenClaw技能扩展指南:给nanobot添加QQ机器人通道
  • 做 GBase 8c 迁移适配时,我更先盯兼容模式、对象改造和 SQL 行为差异,而不是急着把数据先搬过去
  • OpenClaw文件处理:用GLM-4.7-Flash自动整理杂乱文档
  • Unity游戏开发:用Curvy Spline插件5分钟搞定物体曲线运动(附避坑指南)
  • hadoop+spark+Hive物流预测系统 物流数据分析可视化 Echarts可视化 Django框架 大数据
  • 把 cursor 的工具活动栏改成垂直形式
  • Mac M1芯片适配:OpenClaw运行百川2-13B-4bits量化版性能实测
  • Bypass Paywalls Clean技术全解析:突破付费内容限制的完整指南
  • 键值的两种写法对比(显式键值对与ES6简写),两种写法对 VS Code 代码转跳的细微差别
  • Win11Debloat:3步搞定Windows系统瘦身,让你的电脑重获新生!
  • 2026年知名的16号工字钢精选厂家 - 品牌宣传支持者
  • hadoop+spark+hive游戏推荐系统 游戏可视化数据分析 可视化
  • Lycopersicon Esculentum (Tomato) Lectin (LEL, TL), Fluorescein;特异性荧光探针
  • OpenClaw技能扩展实战:GLM-4.7-Flash驱动公众号自动发布
  • 如何高效使用开源工具:3个实战技巧快速上手WebPlotDigitizer图表数据提取
  • AutoDL环境下conda与pip混合安装PyTorch和DGL的避坑指南
  • 【2026最新】AI产品经理学习路径全解析:顺序错了,努力全白费!
  • 24小时稳定运行:OpenClaw+nanobot镜像的进程守护方案
  • 小型团队知识库:OpenClaw驱动Qwen3-32B-Chat实现文档智能检索
  • 基于PSO算法的海陆空多栖无人机路径规划探索
  • 从实验室到产品:脑机接口(BCI)开发中,EEG实时预处理流程设计与避坑指南
  • 营收3.48亿!五一视界交出上市后首份成绩单
  • 从零掌握ComfyUI-WanVideoWrapper:AI视频制作工具实战指南
  • OpenClaw+Qwen3.5-4B-Claude镜像:30分钟搭建逻辑分析机器人