C#学习笔记_数组

数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。

声明数组

一、一维数组

一维数组声明语法如下:

datatype[] arrayName;

其中,datatype为数据类型,arrayName为数组名。

例如下面几个例子:

int[] intArray;//创建存储int型数据的数组
double[] doubleArray;//创建存储double型数据的数组

数组初始化有两种方式,一种是声明时直接对其进行赋值,例如:

int[] intArray = { 0, 1, 2, 3 };    //声明长度为4的数组,其中数据依次为1,2,3,4

由于数组是一个引用类型,所以更常见的方法是使用关键字new来创建数组的实例。语法如下:

datatype[] arrayName = new datatype[arrayLength];

其中arrayLength指数组长度,此时则创建了一个数据类型为datatype、长度为arrayLength的名为arrayName的数组,其中所有数据初始值为0。

上述两种方式也可以混合使用:

int[] a = new int[4]{ 1, 2, 3, 4 };
//创建长度为4的数组a,其中数据依次为1、2、3、4

二、多维数组

多维数组声明只需要在[ ]内添加逗号','划分维度,并在创建实例时声明数组各个维度长度。例如:

int[,] a = new int[2,3];//声明了2行3列的二维数组

初始化数据同样可以使用花括号,此时通过花括号嵌套区分维度。

int[,] a = new int[2,3]{ {1, 2, 3}, {4, 5, 6} };

三、数组的数组

上面的多维数组每行大小相同,又称为矩形数组。数组的元素同样可以为数组,此时每行大小可以不相同,称之为锯齿数组。声明数组的数组,需要使用多个[ ]。

int[][] a = new int[2][];    //a长度为2
a[0] = new int[3];    //a第一行长度为3
a[1] = new int[4];    //a第二行长度为4

初始化同样可以借助于花括号:

int[][] a = new int[2][]{ new int[3]{1, 2, 3}, new int[2]{4, 5} };
//使用花括号初始化数组

访问数组

访问一维数组,直接在[ ]中填写数据索引即可,例如访问数组a中第4个元素,使用a[4]即可。需要注意,绝大多数计算机语言,包括C#,数组索引都是从0开始计算。

访问多维数组,则在[ ]中通过逗号分隔各个维度索引;访问数组的数组,则各个维度索引依次通过 [ ]分隔。例如访问数组a中第2行第3列元素,多维数组使用a[2,3],而数组的数组使用a[2][3]。

数组与字符串转化

数组通过一些函数可以与字符串相互转化。

string ss="abcdefg";
char[] cc=ss.ToCharArray();    //字符串转化为char[]型数组
string s1=new string(cc);    //char[]型数组转化为字符串
byte[] bb=Encoding.UTF8.GetBytes(ss);
string s2=Encoding.UTF8.GetString(bb);    //字符串与byte[]型数组相互转化

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

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

相关文章

844.比较含退格的字符串(力扣LeetCode)

844.比较含退格的字符串 题目描述 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。 注意:如果对空文本输入退格字符,文本继续为空。 示例 1:…

泽众云真机-机型集中化运维方案升级全面完成

2024年元月份,泽众云真机运维团队,经过几个月软硬件多轮安装调试,机型集中化运维方案升级全面完成。解决了云真机的机型集中化运维难题,方便了运营人员手机管理。 具体如下: 1、集中化运维,如服务器、PC、…

中级ccnp多久可以考下来?ccnp 课件哪里有?

思科中级CCNP考试要求考生具备一定的网络基础知识,包括IP地址规划、VLAN配置、STP协议等。然而,对于许多初学者来说,中级CCNP考试的难度和门槛都是一个不小的挑战。那么,究竟需要多久才能考下中级CCNP证书呢?下面将为你详细解读。…

esp32 操作DS1307时钟芯片

电气参数摘要 有VCC供电,IIC活动状态是1.5mA,待机状态200μA,电池电流5nA(MAX50nA)无VCC供电的时候,电池电流,300nA(时钟运行),10nA(时钟停止)供…

Compose中添加Android原生控件

文章目录 一、前言二、示例代码三、AndroidView的注意事项四、参考链接 一、前言 Compose自身组件有时候并不能完全满足要求,这里演示如何在Compose中添加原生组件及其注意事项 二、示例代码 Composablefun AndroidTextView(modifier: Modifier) {AndroidView(mod…

机器学习-pandas(含数据)

pandas 优势: 增强图表可读性便捷的数据处理能力读取文件方便封装了Matplotlib、Numpy的画图和计算 更详细的教程:Pandas 教程 | 菜鸟教程 (runoob.com) Pandas数据结构 Pandas中一共有三种数据结构,分别为:Series、DataFram…

SpringMVC-拦截器

文章目录 拦截器一、SpringMVC配置文件二、三个抽象方法 拦截器 一、SpringMVC配置文件 <!-- 配置拦截器--><mvc:interceptors><mvc:interceptor><mvc:mapping path"/**"/> <!---拦截的路径--><mvc:exclude-mapping path&qu…

Vite+Electron快速构建一个VUE3桌面应用(一)

一. 简介 首先&#xff0c;介绍下vite和Electron。 Vite是一种新型前端构建工具&#xff0c;能够显著提升前端开发体验。Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入Chromium和Node.js到二进制的 Electron 允许您保持一个 JavaScript 代码代码…

Docker 容器内运行 mysqldump 命令来导出 MySQL 数据库,自动化备份

备份容器数据库命令&#xff1a; docker exec 容器名称或ID mysqldump -u用户名 -p密码 数据库名称 > 导出文件.sql请替换以下占位符&#xff1a; 容器名称或ID&#xff1a;您的 MySQL 容器的名称或ID。用户名&#xff1a;您的 MySQL 用户名。密码&#xff1a;您的 MySQL …

3dmax效果图渲染出现曝光怎么解决?

在使用3ds Max完成效果图渲染工作时&#xff0c;有时会遇到曝光过度的问题&#xff0c;这会使得渲染的图像出现光斑或者过亮&#xff0c;损害了效果的真实感和美观度。那么解决解决3dmax曝光问题呢&#xff1f;一起看看吧&#xff01; 3dmax效果图渲染出现曝光解决方法 1、相机…

国控创科安徽公司年会思语

国控创科安徽公司年会思语 望尽苍穹知大小&#xff0c;做好本我懂多少。 ​年终总结明比较&#xff0c;践行计划得俊俏。

TestNG @AfterClass 注解

目录 那么&#xff0c;这个AfterClass注释的方法什么时候执行呢&#xff1f; 那么&#xff0c;我们可以在一个类中放置多个AfterClass注释方法吗&#xff1f; AfterClass注释放在超类上时如何工作&#xff1f; 在这篇文章中&#xff0c;我们将讨论TestNG中的AfterClass注释。…

STL-内建函数对象

算术仿函数关系仿函数逻辑仿函数这些仿函数所产生的对象&#xff0c;用法和一半函数完全相同使用这些内建函数对象&#xff0c;需要引入头文件#include 1 实现四则运算 其中negate是一元运算&#xff0c;其他都是二元运算 仿函数原型&#xff1a; template T plus //加法仿函数…

鸿蒙HarmonyOS获取GPS精确位置信息

参考官方文档 #1.初始化时获取经纬度信息 aboutToAppear() {this.getLocation() } async getLocation () {try {const result await geoLocationManager.getCurrentLocation()AlertDialog.show({message: JSON.stringify(result)})}catch (error) {AlertDialog.show({message…

派网AX50C做多宽带路由和核心交换机配置实战教程

接近300办公人员的工厂需要网络升级&#xff0c;我规划设计和部署实施了以下方案&#xff0c;同样是简约不简单&#xff0c;在满足性能需求稳定性的前提下&#xff0c;既有经济性&#xff0c;又有安全性。 派网做路由器&#xff0c;刚好开启默认防病毒策略&#xff0c;省下来一…

《微信小程序开发从入门到实战》学习九十四

7.1 视图容器组件 7.1.4 movable-view和movable-area组件 movable-view是一个可移动的视图容器&#xff0c;它需要与movable-area组件结合使用。movabke-view只能放在movable-area组件中&#xff0c;在movable-area组件的范围内拖曳滑动。 movable-view组件属性如下&#xf…

[HTML]Web前端开发技术18(HTML5、CSS3、JavaScript )HTML5 基础与CSS3 应用——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

防御保护防火墙的NET使用

要求如下 下图为实验图&#xff1a;根据四条要求分析&#xff0c;&#xff0c;图中的分公司与本实验无关&#xff0c;直接无视掉。 要求一&#xff1a;生产区在工作时间内可以访问服务器区&#xff08;DMZ&#xff09;&#xff0c;仅可以访问http服务器&#xff1b; 要求二&am…

【C++中STL】map/multimap容器

map/multimap容器 map基本概念map构造和赋值map的大小和交换map插入和删除map的查找和统计 map排序 map基本概念 map中的所有元素都是pair对组&#xff0c;高效率&#xff0c;pair中的第一个元素为key&#xff08;键值&#xff09;&#xff0c;起到索引作用&#xff0c;第二个…

“趣味夕阳,乐享生活”小组活动(第二节)

立冬以来&#xff0c;天气日渐寒冷&#xff0c;气温变化较大&#xff0c;各种传染病多发&#xff0c;为进一步增强老年人冬季预防传染病保健意识及科学合理健康的生活方式。近日&#xff0c;1月22日&#xff0c;南阳市人人社工灌涨站开展了“趣味夕阳&#xff0c;乐享生活”小组…