C# 数组
数组是一种数据结构,它包含若干相同类型的变量。
数组是使用类型声明的:
type[] arrayName;
数组概述
数组具有以下属性:
-
数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。
-
交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。
-
数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。
-
数组元素可以是任何类型,包括数组类型。
-
数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerable 和 IEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代。
//数组可以是任何C#类型(下面以int类型的数组为例)
//一维数组,实例化(四种方式)
//(1)
int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
//(2)
int[] b = new int[3] { 1, 2, 3 };
//(3)
int[] c = new int[] { 1, 2, 3 };
//(4)
int[] d = { 1, 2, 3 };
//注意:使用第四种方式时,一定要一步完成。意思是:声明和复制要在一句代码里,如果先申明,再以赋值则编译不通过,如下:
int[] f;
//f={1,2,3}; //Error
f = new int[] { 1, 2, 3 }; //OK
//二维或多维数组
int[,] g = new int[2, 3];
g[0, 0] = 11;
g[0, 1] = 12;
g[0, 2] = 13;
g[1, 1] = 21;
g[1, 2] = 22;
g[1, 3] = 23;
//多维
int[, ,] h = new int[2, 3, 4];
h[0, 0, 0] = 101;
h[0, 0, 1] = 102;
h[0, 0, 2] = 103;
h[0, 0, 3] = 104; //4个(一组4个)
h[0, 1, 0] = 111;
h[0, 1, 1] = 112;
h[0, 1, 2] = 113;
h[0, 1, 3] = 114;
h[0, 2, 0] = 121;
h[0, 2, 1] = 122;
h[0, 2, 2] = 123;
h[0, 2, 3] = 124;//3小组(一组四个)
h[1, 0, 0] = 201;
h[1, 0, 1] = 202;
h[1, 0, 2] = 203;
h[1, 0, 3] = 204;
h[1, 1, 0] = 211;
h[1, 1, 1] = 212;
h[1, 1, 2] = 213;
h[1, 1, 3] = 214;
h[1, 2, 0] = 221;
h[1, 2, 1] = 222;
h[1, 2, 2] = 223;
h[1, 2, 3] = 224;//2大组(一组三小组)
//当然它也可以这样声明
int[,] i = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };
int[,] j = new int[,] { { 1, 2 }, { 3, 4 } };
int[, ,] k = new int[2, 3, 4] {
{
{1,2,3,4},
{1,2,3,4},
{1,2,3,4}
},
{
{1,2,3,4},
{1,2,3,4},
{1,2,3,4}
}
};
int[, ,] l = new int[,,] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };
//交错数组 (数据元素还是数组)
int[][] m = new int[3][];
m[0] = new int[2];
m[1] = new int[3];
m[2] = new int[2];
m[0][0] = 1;
m[0][1] = 2;
m[1][0] = 1;
m[1][1] = 2;
m[1][2] = 3;
m[2][0] = 1;
m[2][1] = 2;
//当然它也可以这样实例化
int[][] o = new int[3][] { new int[2] { 1, 2 }, new int[3] { 1, 2, 3 }, new int[2] { 2, 3 } };
//或
int[][] p = new int[][] { new int[] { 1, 2, 3 }, new int[] { 2, 3 }, new int[] { 1, 2, 3, 4 } };
//或
int[][] q =
{
new int[] { 1, 2 },
new int[] { 2, 3, 4 },
new int[] { 2, 4, 5, 6 }
};
//交错多维混合数组
//可以混合使用交错数组和多维数组。下面声明和初始化一个一维交错数组,该数组包含大小不同的二维数组元素:
int[][,] jaggedArray4 = new int[3][,]
{
new int[,] { {1,3}, {5,7} },
new int[,] { {0,2}, {4,6}, {8,10} },
new int[,] { {11,22}, {99,88}, {0,9} }
};
posted on 2012-09-05 17:34 Joey_zy0210 阅读(221) 评论(0) 编辑 收藏 举报
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
2011-09-05 Highcharts 如何添加基准线