C# 数组(数组是对象和一维数组和矩形数组)

一维数组和矩形数组

数组实例是从System,Array继承类型的对象。由于数组从BCL基类派生而来,它们也继承

了BCL基类中很多有用的成员,如下所示。

  • Rank返回数组维度数的属性。
  • Length返回数组长度(数组中所有元素的个数)的属性。
    数组是引用类型。与所有引用类型一样,数组有数据的引用以及数据对象本身。引用在栈或
    堆上,而数组对象本身总是在堆上。图13-3演示了数组的内存配置和组成部分。

尽管数组总是引用类型,但是数组的元素既可以是值类型也可以是引用类型。

  • 如果存储的元素都是值类型,数组被称作值类型数组。
  • 如果存储在数组中的元素都是引用类型对象,数组被称作引用类型数组。
    图13-4演示了值类型数组和引用类型数组。

一维数组和矩形数组

一维数组和矩形数组的语法非常相似,因此一并介绍,稍后再单独介绍交错数组。

声明一维数组或矩形数组

要声明一维数组或矩形数组,可以在类型和变量名称之间使用一对方括号。

方括号内的逗号就是秩说明符,它们指定了数组的维度数。秩就是逗号数量加1。比如,没

有逗号代表一维数组,一个逗号代表二维数组,以此类推。

基类和秩说明符构成了数组类型。例如,如下代码行声明了long的一维数组。数组类型是

long\[\],读作"long数组"。

如下代码展示了矩形数组声明的示例。注意以下几点。

  • 可以使用任意多个秩说明符。
  • 不能在数组类型区域中放数组维度长度。秩是数组类型的一部分,而维度长度不是类型
    的一部分。
  • 数组声明后,维度数就是固定的了。然而,维度长度直到数组实例化时才会确定。


说明 和C/C++不同,方括号在基类型后,而不是在变量名称后。

相关推荐
不爱学英文的码字机器14 分钟前
推荐算法梳理,六种主流模型与九步训练流程
算法·机器学习·推荐算法
白狐_7981 小时前
408数据结构第5章:树与二叉树②——遍历、线索树、森林与哈夫曼
数据结构·算法·深度优先
半亩码田1 小时前
C#转Python第3.1篇:Python 的 class 没有访问修饰符?面向对象的另一条路
开发语言·python·c#
致Great4 小时前
科研人的 AI,不该只回答问题:我用字节TraeWork 跑了一遍真实研究任务
算法
纵有疾風起4 小时前
线性表的定义与基本操作 — 从逻辑结构到 ADT 接口
数据结构·算法·408·线性表·adt
测试_AI_一辰5 小时前
AI Agent 评测最隐蔽的坑-记忆
人工智能·算法·ai·自动化·ai编程
lucas_AI5 小时前
给YOLO检测器插 LoRA,'插对地方'比'插什么'更要命
人工智能·算法
LuminousCPP6 小时前
数据结构-时间与复杂度|时间/空间复杂度 + 两道力扣练习 + 二分查找复盘
c语言·数据结构·经验分享·算法·leetcode
Nil2086 小时前
leetcode 三数之和
数据结构·算法·leetcode
小小龙学IT6 小时前
C++ std::vector 底层实现深度解析:内存布局、扩容策略、移动语义与迭代器失效
开发语言·c++·算法