数组简述(C# 编程指南)

可以在一个数组数据结构中存储同一类型的多个变量。 通过指定其元素的类型声明数组

type []arrayName;

 1 class TestArraysClass
 2 {
 3     static void Main()
 4     {
 5         // Declare a single-dimensional array   一维数组
 6         int[] array1 = new int[5];
 7
 8         // Declare and set array element values
 9         int[] array2 = new int[] { 1, 3, 5, 7, 9 };
10
11         // Alternative syntax
12         int[] array3 = { 1, 2, 3, 4, 5, 6 };
13
14         // Declare a two dimensional array 多维数组
15         int[,] multiDimensionalArray1 = new int[2, 3];
16
17         // Declare and set array element values
18         int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
19
20         // Declare a jagged array  交错数组
21         int[][] jaggedArray = new int[6][];
22
23         // Set the values of the first array in the jagged array structure
24         jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
25     }
26 }

数组的属性:

当创建了数组实例时,将建立维度数和每个维度的长度。 在实例的生存期内,这些值不能更改。

数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。

交错数组是数组的数组,因此其元素是引用类型并初始化为 null。

数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。

数组元素可以是任何类型,包括数组类型

时间: 2024-08-29 01:22:09

数组简述(C# 编程指南)的相关文章

数组和指针作为函数参数——高质量C、C++编程指南

本文内容出自<高质量C.C++编程指南>.阅读之后理解,然后通过自己的话和例子讲清楚,这样才是学习之道.以下内容都是自己所认为的东西,如果哪里错了,希望各位大神指出. 1.数组作为函数的参数进行传递时,该数组自动退化为同类型的指针 结果: 第一张图中,str为数组,此时的长度为6,而作为函数参数时退化为指针了,指针的长度固定为4. 第一张图中,str为数组,所以不能对str进行自增或自减,而在函数中是可以的,因为退化为指针了,而指针时可以进行自增自减的. 2.指针参数是如何传递内存的 传递方式

指针和数组——高质量C、C++编程指南

本文内容出自<高质量C.C++编程指南>,通过阅读之后整理和总结,并用例子证明. 数组:在静态存储区创建或者栈上创建.数组名对应着一块内存,其地址与容量在生命周期内保持不变,只有数组的内容可以改变. 指针:随时指向任意类型的内存块,特征是"可变",所以指针可以用来操作动态内存. 1.数组和指针的大小. char str[] = "hello"; char* pStr = "hello"; int* pInt = nullptr; pr

使用结构(C# 编程指南)

struct 类型适于表示 Point.Rectangle 和 Color 等轻量对象. 尽管使用自动实现的属性将一个点表示为类同样方便,但在某些情况下使用结构更加有效. 例如,如果声明一个 1000 个 Point 对象组成的数组,为了引用每个对象,则需分配更多内存:这种情况下,使用结构可以节约资源. 因为 .NET Framework 包含一个名为 Point 的对象,所以本示例中的结构命名为“CoOrds”. 1 public struct CoOrds 2 { 3 public int

兰姆达表达式Lambda 表达式(C# 编程指南)

转https://msdn.microsoft.com/zh-cn/library/bb397687.aspx Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数.通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数.Lambda 表达式对于编写 LINQ 查询表达式特别有用. 若要创建 Lambda 表达式,需要在 Lambda 运算符 => 左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块.例如,lambda 表达式 x => x

索引器(C# 编程指南)

索引器(C# 编程指南) Visual Studio 2015 其他版本 索引器允许类或结构的实例就像数组一样进行索引. 索引器类似于属性,不同之处在于它们的取值函数采用参数. 在下面的示例中,定义了一个泛型类,并为其提供了简单的 get 和 set 取值函数方法(作为分配和检索值的方法). Program 类创建了此类的一个实例,用于存储字符串. C# class SampleCollection<T> { // Declare an array to store the data elem

Lambda 表达式(C# 编程指南) 微软microsoft官方说明

Visual Studio 2013 其他版本 Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数. Lambda 表达式对于编写 LINQ 查询表达式特别有用. 若要创建 Lambda 表达式,需要在 Lambda 运算符 => 左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块. 例如,lambda 表达式 x => x * x 指定名为 x 的参数并返回 x 的平方值. 如下

线程同步-iOS多线程编程指南(四)-08-多线程

首页 编程指南 Grand Central Dispatch 基本概念 多核心的性能 Dispatch Sources 完结 外传:dispatch_once(上) Block非官方编程指南 基础 内存管理 揭开神秘面纱(上) 揭开神秘面纱(下) iOS多线程编程指南 关于多线程编程 线程管理 Run Loop 线程同步 附录 Core Animation编程指南 Core Animation简介 基本概念 渲染架构 几何变换 查看目录 中文手册/API ASIHTTPRequest Openg

转:KVC/KVO原理详解及编程指南

作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/9674431 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号wangzzstrive来支持我,谢谢! 前言: 1.本文基本不讲KVC/KVO的用法,只结合网上的资料说说对这种技术的理解. 2.由于KVO内容较少,而且是以KVC为基础实现的,本文将着重介绍KVC部分. 一.简介 KVC/KVO是观察者模式的一种实现,在Cocoa中是以被万物之源NS

匿名类型(C# 编程指南)

匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型. 类型名由编译器生成,并且不能在源代码级使用. 每个属性的类型由编译器推断.可通过使用 new 关键字和对象初始值创建匿名类型. 以下示例显示了用两个名为Amount和Message的属性进行初始化的匿名类型. 1 var v = new { Amount = 108, Message = "Hello" }; 2 3 // Rest the mouse pointer over v.Amo

MEF 编程指南(十):重组

有些应用程序被设计成在运行时动态地改变.例如,一个新的扩展可能被下载,或者其他原因变得不可用.MEF 依靠我们称之为重组(Composition)的技术处理,在初始化组合以后改变导入值的场景. 导入可以通过 [System.ComponentModel.Composition.ImportAttribute] 使用 Allowrecompostion 属性通知 MEF 支持重组.参考下面的代码: [Export] public class HttpServerHealthMonitor { [I