C#指南,重温基础,展望远方!(8)C#数组
数组是一种数据结构,其中包含许多通过计算索引访问的变量。 数组中的变量(亦称为数组的元素)均为同一种类型,我们将这种类型称为数组的元素类型。
数组类型是引用类型,声明数组变量只是为引用数组实例预留空间。 实际的数组实例是在运行时使用 new 运算符动态创建而成。 new 运算指定了新数组实例的长度,然后在此实例的生存期内固定使用这个长度。 数组元素的索引介于 0
到 Length - 1
之间。 new
运算符自动将数组元素初始化为其默认值(例如,所有数值类型的默认值为 0,所有引用类型的默认值为 null
)。
以下示例创建 int
元素数组,初始化此数组,然后打印输出此数组的内容。
using System;
class ArrayExample
{static void Main() { int[] a = new int[10]; for (int i = 0; i < a.Length; i++) { a[i] = i * i; } for (int i = 0; i < a.Length; i++) { Console.WriteLine($"a[{i}] = {a[i]}"); } } }
上面的示例创建一维数组,并对其执行运算。 C# 还支持多维数组。 数组类型的维数(亦称为数组类型的秩)是 1 与数组类型方括号内的逗号数量相加的结果。 以下示例分别分配一维、二维、三维数组。
int[] a1 = new int[10];
int[,] a2 = new int[10, 5]; int[,,] a3 = new int[10, 5, 2];
a1
数组包含 10 个元素,a2
数组包含 50 个元素 (10 × 5),a3
数组包含 100 个元素 (10 × 5 × 2)。 数组的元素类型可以是任意类型(包括数组类型)。 包含数组类型元素的数组有时称为交错数组,因为元素数组的长度不必全都一样。 以下示例分配由 int
数组构成的数组:
int[][] a = new int[3][];
a[0] = new int[10]; a[1] = new int[5]; a[2] = new int[20];
第一行创建包含三个元素的数组,每个元素都是 int[]
类型,并且初始值均为 null
。 后面的代码行将这三个元素初始化为引用长度不同的各个数组实例。
通过 new 运算符,可以使用数组初始值设定项(在分隔符 {
和 }
内编写的表达式列表)指定数组元素的初始值。 以下示例分配 int[]
,并将其初始化为包含三个元素。
int[] a = new int[] {1, 2, 3};
请注意,可从 { 和 } 内的表达式数量推断出数组的长度。 局部变量和字段声明可以进一步缩短,这样就不用重新声明数组类型了。
int[] a = {1, 2, 3};
以上两个示例等同于以下示例:
int[] t = new int[3];
t[0] = 1; t[1] = 2; t[2] = 3; int[] a = t;
转载于:https://www.cnblogs.com/lzfsuifeng/p/9109466.html
C#指南,重温基础,展望远方!(8)C#数组相关推荐
- 【重温基础】7.时间对象
本文是 重温基础 系列文章的第七篇. 今日感受:做好自律. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1.语法和数据类型 [重温基础]2.流程控制和错误处 ...
- 【重温基础】2.流程控制和错误处理
本文是 重温基础 系列文章的第二篇,需要让自己静下心来,学习,养成好习惯. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1.语法和数据类型 本章节复习的是J ...
- 批量生成数组_JavaScript【重温基础】13.迭代器和生成器
本文是 重温基础 系列文章的第十三篇. 今日感受:每次自我年终总结,都会有各种情绪和收获. 本章节复习的是JS中的迭代器和生成器,常常用来处理集合. 前置知识: JavaScrip已经提供多个迭代集合 ...
- Spark性能优化指南:基础篇
前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...
- chrome调试工具高级不完整使用指南(基础篇)
一.前言 本文记录的是作者在工作上面对chrome的一些使用和情况的分析分享,内容仅代表个人的观点.转发请注明出处(http://www.cnblogs.com/st-leslie/),谢谢合作 二. ...
- 【重温基础】6.数字
本文是 重温基础 系列文章的第六篇. 今日感受:自己需要多总结,会有不同收获(比如今晚我做的转正总结). 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1.语 ...
- OI基础系列之最大子数组问题
OI基础系列之最大子数组问题 --Edward2414 oi退役了,虽然没取得多少成绩,也算是走过一会的人了.我相信绝大多数oi党都是自学成才,在此,我感谢那些把自己所学写到博客里的前辈们, ...
- C++:C++语言入门级基础知识考察点回顾之数组、指针
C++:C++语言入门级基础知识考察点回顾之数组.指针 目录 C++的数组.字符串 1.数组 1.1.声明数组 1.2.一维数组的应
- [JAVA基础] 简单又不简单的数组
引言 相信有过编程基础的小伙伴都知道数组这个数据结构,它应该也是我们第一个接触的数据结构,学过C或者C++的应该知道数组和指针紧密相关,那么在java里没有了指针,java里的数组又有哪些不同的特点呢 ...
- 【零基础学Java】—对象数组(十三)
[零基础学Java]-对象数组(十三) /*** @author :CaiCai* @date : 2022/4/7 11:08*/ public class demo05 {public stati ...
最新文章
- 数据库对象 同义词 索引 序列 视图
- 作为程序员,这些地方不知道就out了!
- pythonurllib模块-Python3中核心模块urllib的用法大全
- 站在吃货的角度来解释那些和微服务有关的名词
- 160个Crackme027之First CD-Check
- python获取字典的值_Python:如何从pandas系列中获取字典中的值
- 各种排序总结(六)归并排序
- 【软件】我安装Tomcat5.5(Java Web开发服务器)的几点经验
- 中小企业邮件系统选型攻略
- java 链接mysql 产生500W数据模拟生成环境
- cookie与session的区别与联系
- ubuntu 的使用(三)—— 实用小工具
- 无法处理文件 Snoop\Forms\BindingMap.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记。
- 怎样使footer始终处于页面的底部
- 分享一些程序员接私活、兼职的平台
- jsp+ssm计算机毕业设计电影影评网【附源码】
- SQLite 使用问题记录(一)
- 计算机音乐数字谱抖音,抖音计算器谱子有哪些 计算器音乐乐谱大全
- ORA-600 16703--oracle介质被注入恶意脚本
- codeforces Intel Code Challenge Final Round (div.1 + div.2 combined)
热门文章
- 【PYTHON笔记】文件读写,定位
- 使用logstash迁移es数据
- spring事物配置
- 中去掉外键_【Java笔记】035天,MySQL中的增删改查
- 2021牛客暑期多校训练营4,签到题CFIJ
- 【NOIP2012】【Luogu1075】质因数分解(模拟)
- python中seth是啥意思_python中的seth是什么意思
- Django MySQL 多用户_Django 框架之 同时使用多个数据库
- python设计思路怎么写_初中信息技术 初识Python教学设计
- 第四章 ASP.NET MVC (表单和HTML辅助方法)