C#中的数组

b8f4ed92d1a3e712cd56ec97c4f1fef5.png

欢迎您成为我的读者,希望这篇文章能给你一些帮助。

前言

前面的文章和大家一起看了C#中的异常,今天一起学习下C#中最基本的数据结构,数组的用法。

数组实际上是由一个变量名称表示的一组同类型的数据元素。每个元素通过变量名称和一个或多个方括号中的索引来访问。

在实际的业务编码中,一些简单的数据处理,我们可以声明为数组进行处理。

int[] Ages = new int[4];

数组

数组的重要定义

  • 元素  数组的独立数据项称为元素。数组的所有元素必须是相同类型的或继承自相同的类型。

  • 秩/维度 数组可以有任何为正数的维度数。数组的维度数称为秩。

  • 维度长度 数组的每一个维度有一个长度,就是这个方向的位置。

  • 数组长度 数组的所有维度中的元素的总和称为数组的长度。

数组的注意事项

  • 数组一旦创建,大小就固定了。C#不支持动态数组。

  • 数组索引号从0开始。如果长度为n,则索引号范围0~n-1。

数组实例是从System.Array继承的对象,也就是数组是对象。是属于引用类型,但是数组里面的元素也可以是引用类型也可以是值类型。

class Program
{static void Main(string[] args){int[] Ages = new int[4];Ages[0] = 20;          //存储数据Console.WriteLine(""+Ages[0]); //读取数据Console.ReadKey();   }
}

当数组被创建之后,每一个元素被自动初始化为类型的默认值。

对于预定义的类型,整形默认值为0,布尔型的默认值为false,而引用类型的默认值则为null。

int[] Ages = new int[4];

比如我们上面的代码,就是创建了4个int型数组,并将其元素默认为0。

当然数组也可以被显式初始化,如下代码所示:

int[] Ages = new int[4] { 0,1,2,3};

数组继承的有用成员

在C#中的数组是继承自System.Array类。可从基类继承很多有用的属性和方法,比如下面图片所示:

c4b39adb6c4d2b45aab5b819f9ff751d.png

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发  谢谢。

很高兴能和您成为朋友。

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

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

相关文章

如何打卡后缀为3ds的文件

打开.3DS文件 3DS文件怎么打开? 用它吧:a3dsviewer,顾名思义,一个3D文件浏览工具,为用户提供一个快速和简单的3DS文件浏览器很容易。 这里是一些主要特点的“a3dsviewer”: 将3DS文件的POVRay格式。 输出的…

ASP.NET Core使用功能开关控制路由访问(续)

前言在前面的文章,我们介绍了使用功能开关控制路由访问。但其实我们使用了2个条件做的判断:var isDebugEndpoint context.Request.Path.Value.Contains("/test"); var debugEndpoint await _featureManager.IsEnabledAsync("ForbiddenD…

如何使用CDR智能填充工具

使用智能填充工具可以为任意的闭合区域填充颜色并设置轮廓。与其他填充工具不同,智能填充工具仅填充对象,它检测到区域的边缘并创建一个闭合路径,因此可以填充区域。例如,智能填充工具可以检测多个对象相交产生的闭合区域&#xf…

java对象引用出错_“Java有值传递和引用传递”为什么错了?

前言初学Java的时候,老师在课堂上说“Java有值传递和引用传递”,但网上“Java只有值传递”的呼声很高。本人在查找资料的过程中,在这两个说法之间反复横跳。经过本人的整理后,其实还真的是Java只有值传递。什么是值传递&#xff1…

程序员生存之道-教你如何在丛林中捕获食物

文章目录 💥 序言🐣 躺🥝 从零到一还是从零到100?🍄 螺丝钉文化🍔 价值分析🍓 长期主义者?🥬 何为顺其自然?🌈 总结 💥 序言 嗨&#…

微软发文庆祝 .NET 诞生 20 周年纪念日!

技术编辑:MissD丨发自 思否编辑部公众号:SegmentFault刚刚过去的“情人节”里,.NET 团队为庆祝 .NET 社区诞生 20 周年而举办了一场盛大的活动。没错!.NET 于 2002 年 2 月 13 日与 Visual-Studio 一起推出,本月终于迎…

根据文件扩展名得到文件对应该类型Icon方法

2019独角兽企业重金招聘Python工程师标准>>> 根据文件扩展名得到文件对应该类型Icon方法 package com.fleety.util; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.…

Asp-Net-Core开发笔记:在docker部署时遇到一个小坑

哦吼之前刚说了尝试了使用docker来部署AspNetCore应用(Asp.Net Core部署:早知道,还是docker!以及一点碎碎念),结果这才刚上班就遇到问题了 …我这项目用的数据库是Oracle,之前直接运行没啥问题,…

lasso特征选择python_转:结合Scikit-learn介绍几种常用的特征选择方法-2

4.2 平均精确率减少 Mean decrease accuracy另一种常用的特征选择方法就是直接度量每个特征对模型精确率的影响。主要思路是打乱每个特征的特征值顺序,并且度量顺序变动对模型的精确率的影响。很明显,对于不重要的变量来说,打乱顺序对模型的精…

Mac Generating Pods project Abort trap: 6

为什么80%的码农都做不了架构师?>>> 为项目添加cocoapods如果产生此种错误时,主要有以下几点原因: 1,cocoapods版本过低: 打开终端在终端输入:pod --version,目前最新版本是1.2.0(2017年3月),如果发现版本过低,则可以在终端输入以下命令:gem install co…

svn 服务器搭建

2019独角兽企业重金招聘Python工程师标准>>> Svn搭建 1. Linux 搭建 YUM 服务器 [rootlocalhost conf]# yum install -y subversion 2.验证安装版本: [rootlocalhost conf]# svnserve –version 3.创建SVN 版本库 [rootlocalhost conf]# mkdir /v…

C# 使用 ValueTasks

C# 7 带有更灵活的 await 关键字;它现在可以等待任何提供 GetAwaiter 方法的对象。一种可用于等待的新类型是 ValueTask。与 Task 类相反,ValueTask 是一个结构。这具有性能优势,因为 ValueTask 在堆上没有对象。与异步方法调用相比&#xff…

Electron - 创建跨平台的桌面客户的应用程序

Electron 框架的前身是 Atom Shell,可以让你写使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序。它是基于io.js 和 Chromium 开源项目,并用于在 Atom 编辑器中。Electron 是开源的,由 GitHub 维护,有一个活跃的…

Cognos TM1_10.1.1服务端配置

场景:本文继Cognos TM1_10.1.1服务端安装 之后,简单的说一下本人对简单配置的拙见,确保服务端在安装过程一切正常,成功安装。 1:进入TM的Cognos Configuration 2:如下图,选中环境,这里可以看出…

java黄油刀_一篇文章玩转ButterKnife,让代码更简洁

前言话说,Android开发的兄弟们都知道,每次初始化控件,设置相应的事件,写的那点过程多而且恶心。我们先一块回顾下不堪的曾经~那些年,我们是这样初始化控件:// 每次的习惯上来写一个initView()方法tvContent…

nodejs的内存管理,垃圾回收机制

2019独角兽企业重金招聘Python工程师标准>>> 要点记录: 1、网页js、命令行工具,快进快出的,即时内存泄露,无内存管理必要! 2、服务器端nodejs和其他正规语言一样存在内存泄露。 3、nodejs基于谷歌v8js引擎&#xff…

Redis【第二篇】集群搭建

第一步:准备 1.安装包 ruby-2.4.0.tar.gz rubygems-2.6.10.tgz zlib-1.2.11.tar.gz redis-3.3.2.gem 2. 架构: 名称IP端口节点属性redisA192.168.6.1286379主节点redisB192.168.6.1289379从节点redisC192.168.6.1296379主节点redisD192.168.6.1299379从节…

(转)java中对集合对象list的几种循环访问总结

Java集合的Stack、Queue、Map的遍历在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack、Queue、Map类型的遍历,还是有一些讲究的。最近看了一些代码,在便利Map时…

NET框架下如何使用PaddleOCRSharp

打开VSIDE,新建Windows窗体应用(.NETFramework)类型的项目,选择一个.NET框架,如.NETFramework 4.0,右键点击项目,选择属性》生成,目标平台设置成X64.菜单》工具》选项,Nuget包管理器》程序包管理&#xff0…

Redis主从复制(Master-Slave Replication)

案例测试&#xff1a;1. Master新增网卡&#xff0c;修改server端配置IP : 192.168.40.128/24注释&#xff1a; bind&#xff0c;支持网络连接2. 新建虚机slave&#xff0c;配置网络&#xff0c;修改redis配置#slaveof <masterip> <masterport>slaveof 192.168.40.…