数组是一种数据结构,其中包含许多通过计算索引访问的变量。 数组中的变量(亦称为数组的元素)均为同一种类型,我们将这种类型称为数组的元素类型

数组类型是引用类型,声明数组变量只是为引用数组实例预留空间。 实际的数组实例是在运行时使用 new 运算符动态创建而成。 new 运算指定了新数组实例的长度,然后在此实例的生存期内固定使用这个长度。 数组元素的索引介于 0 到 Length - 1 之间。 new 运算符自动将数组元素初始化为其默认值(例如,所有数值类型的默认值为 0,所有引用类型的默认值为 null)。

以下示例创建 int 元素数组,初始化此数组,然后打印输出此数组的内容。

C#复制
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 与数组类型方括号内的逗号数量相加的结果。 以下示例分别分配一维、二维、三维数组。

C#复制
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 数组构成的数组:

C#复制
int[][] a = new int[3][];
a[0] = new int[10]; a[1] = new int[5]; a[2] = new int[20]; 

第一行创建包含三个元素的数组,每个元素都是 int[] 类型,并且初始值均为 null。 后面的代码行将这三个元素初始化为引用长度不同的各个数组实例。

通过 new 运算符,可以使用数组初始值设定项(在分隔符 { 和 } 内编写的表达式列表)指定数组元素的初始值。 以下示例分配 int[],并将其初始化为包含三个元素。

C#复制
int[] a = new int[] {1, 2, 3}; 

请注意,可从 { 和 } 内的表达式数量推断出数组的长度。 局部变量和字段声明可以进一步缩短,这样就不用重新声明数组类型了。

C#复制
int[] a = {1, 2, 3};

以上两个示例等同于以下示例:

C#复制
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#数组相关推荐

  1. 【重温基础】7.时间对象

    本文是 重温基础 系列文章的第七篇. 今日感受:做好自律. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1.语法和数据类型 [重温基础]2.流程控制和错误处 ...

  2. 【重温基础】2.流程控制和错误处理

    本文是 重温基础 系列文章的第二篇,需要让自己静下心来,学习,养成好习惯. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1.语法和数据类型 本章节复习的是J ...

  3. 批量生成数组_JavaScript【重温基础】13.迭代器和生成器

    本文是 重温基础 系列文章的第十三篇. 今日感受:每次自我年终总结,都会有各种情绪和收获. 本章节复习的是JS中的迭代器和生成器,常常用来处理集合. 前置知识: JavaScrip已经提供多个迭代集合 ...

  4. Spark性能优化指南:基础篇

    前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...

  5. chrome调试工具高级不完整使用指南(基础篇)

    一.前言 本文记录的是作者在工作上面对chrome的一些使用和情况的分析分享,内容仅代表个人的观点.转发请注明出处(http://www.cnblogs.com/st-leslie/),谢谢合作 二. ...

  6. 【重温基础】6.数字

    本文是 重温基础 系列文章的第六篇. 今日感受:自己需要多总结,会有不同收获(比如今晚我做的转正总结). 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1.语 ...

  7. OI基础系列之最大子数组问题

    OI基础系列之最大子数组问题   --Edward2414    oi退役了,虽然没取得多少成绩,也算是走过一会的人了.我相信绝大多数oi党都是自学成才,在此,我感谢那些把自己所学写到博客里的前辈们, ...

  8. C++:C++语言入门级基础知识考察点回顾之数组、指针

    C++:C++语言入门级基础知识考察点回顾之数组.指针 目录 C++的数组.字符串 1.数组 1.1.声明数组 1.2.一维数组的应

  9. [JAVA基础] 简单又不简单的数组

    引言 相信有过编程基础的小伙伴都知道数组这个数据结构,它应该也是我们第一个接触的数据结构,学过C或者C++的应该知道数组和指针紧密相关,那么在java里没有了指针,java里的数组又有哪些不同的特点呢 ...

  10. 【零基础学Java】—对象数组(十三)

    [零基础学Java]-对象数组(十三) /*** @author :CaiCai* @date : 2022/4/7 11:08*/ public class demo05 {public stati ...

最新文章

  1. 数据库对象 同义词 索引 序列 视图
  2. 作为程序员,这些地方不知道就out了!
  3. pythonurllib模块-Python3中核心模块urllib的用法大全
  4. 站在吃货的角度来解释那些和微服务有关的名词
  5. 160个Crackme027之First CD-Check
  6. python获取字典的值_Python:如何从pandas系列中获取字典中的值
  7. 各种排序总结(六)归并排序
  8. 【软件】我安装Tomcat5.5(Java Web开发服务器)的几点经验
  9. 中小企业邮件系统选型攻略
  10. java 链接mysql 产生500W数据模拟生成环境
  11. cookie与session的区别与联系
  12. ubuntu 的使用(三)—— 实用小工具
  13. 无法处理文件 Snoop\Forms\BindingMap.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记。
  14. 怎样使footer始终处于页面的底部
  15. 分享一些程序员接私活、兼职的平台
  16. jsp+ssm计算机毕业设计电影影评网【附源码】
  17. SQLite 使用问题记录(一)
  18. 计算机音乐数字谱抖音,抖音计算器谱子有哪些 计算器音乐乐谱大全
  19. ORA-600 16703--oracle介质被注入恶意脚本
  20. codeforces Intel Code Challenge Final Round (div.1 + div.2 combined)

热门文章

  1. 【PYTHON笔记】文件读写,定位
  2. 使用logstash迁移es数据
  3. spring事物配置
  4. 中去掉外键_【Java笔记】035天,MySQL中的增删改查
  5. 2021牛客暑期多校训练营4,签到题CFIJ
  6. 【NOIP2012】【Luogu1075】质因数分解(模拟)
  7. python中seth是啥意思_python中的seth是什么意思
  8. Django MySQL 多用户_Django 框架之 同时使用多个数据库
  9. python设计思路怎么写_初中信息技术 初识Python教学设计
  10. 第四章 ASP.NET MVC (表单和HTML辅助方法)