C#数组的声明
C#一维数组的声明方式
int[] myArray;
string[] myStrArr;
但是在访问数组之前必须初始化。
C#数组的初始化方式有两种,第一种是在声明数组的时候为数组的元素赋初值:
int[] myArray = { 5, 9, 15, 22, 30 };
string[] myStrArr = { "diagram", "league", "brambling" };
另一种方式需要在声明数组时指定数组的大小(即数组的长度,数组元素的个数):
int[] myArray = new int[5];
string[] myStrArr = new string[3];
当然不一定非是数值,也可以是带有常量(const)关键字的变量:
const int arrSize = 5;
int[] myArray = new int[arrSize];
string[] myStrArr = new string[arrSize];
访问数组元素可以通过for循环和数组元素对应的下标:
int[] myArray = { 5, 9, 15, 22, 30 };
for (int i = 0; i < myArray.Length; i++)
{
Console.WriteLine("数组长度为{0},第{1}个元素是:{2}", myArray.Length, i, myArray[i]);
}
Console.ReadKey();
还可以用foreach访问数组的每个元素,但foreach循环对数组的内容进行只读访问,所以不能改变任何元素的值:
int[] myArray = { 5, 9, 15, 22, 30 };
foreach (int num in myArray)
{
Console.WriteLine("数组元素为:{0}", num);
}
Console.ReadKey();
二维数组:
二维数组最简单的声明方式:
int[,] myIntArray;
string[,] myStrArray;
如下声明了一个4维数组:
int[,,,] myIntArray;
多维数组的声明方式只需要在二维数组的基础上添加多个逗号。
二维数组的初始化方式:
int[,] myIntArray = { { 1, 4, 7 }, { 2, 5, 8 }, { 3, 6, 9 } };
string[,] myStrArray = new string[3, 2];
二维数组一样通过下标访问数组元素:
myIntArray[1,2]; // 8
myIntArray是一个3行3列的二维数组,所以myIntArray[1,2]中的1指的是数组myIntArray的第二个嵌套数组(数组下标识从0开始,所以1就是第二个了),myIntArray[1,2]中的2指的是数组myIntArray的第二个嵌套数组中的第三个元素,所以其值是8。
多维数组:
多维数组的两种声明和初始化方式,第一种:
int[][] myIntArrays = new int[2][];
myIntArrays[0] = new int[3];
myIntArrays[1] = new int[4];
另一种方式:
int[][] myIntArrays = {new int[]{1,2,3},new int[]{2,3,4,5}};
访问多维数组的元素可以用foreach循环:
int[][] myIntArrays = {new int[]{1,2,3},new int[]{2,3,4,5}};
foreach (int[] numArr in myIntArrays)
{
foreach (int num in numArr)
{
Console.WriteLine("数组元素为:{0}", num);
}
}
输出结果为:
数组元素为:1
数组元素为:2
数组元素为:3
数组元素为:2
数组元素为:3
数组元素为:4
数组元素为:5
由此可以看出访问多维数组元素的顺序。
第一次发博客,博客是最近几天才开的,原因只是因为自己太菜了,所以想记录下平时学习的一些东西。如果能帮到他人,我将深感荣幸!
C#数组的声明的更多相关文章
- 关于offsetWidth,offsetHeight,offsetTop,offsetLeft和二维数组的声明
offsetWidth,offsetHeight,offsetTop,offsetLeft 为只读状态,返回的值是int形式 只读形式即不能通过修改其值的大小. 想要修改某元素的这些值的大小(widt ...
- js数组的声明与应用
js数组的声明与应用 数组:一种容器,存储批量数据.JavaScript是一种弱类型语言.什么是弱类型,就是变量可以存储多种类型变量的引用不会报错.所以js数组可以存储不同的数据. 一.数组的作用:只 ...
- Java 声明和访问控制(一) 数组的声明 private可以修饰类吗
数组的声明: int []a[] = new int[4][];//是正确的 int[] array = new int[2]{1,2};//是错误的 数组的长度是不可改变的,不能通过任何方式改变大小 ...
- 关于Delphi中二维数组的声明和大小调整(对非基本类型数据,小心内存泄漏)
这是一个实例: procedure TMainForm.Button1Click(Sender: TObject);var arr:array of array of string;begin s ...
- java数组的声明由几种方式
数组的声明由几种方式: 1,String []a = new String[length];再赋值 a[0]=?;....... 2,new完就直接初始化: String []a = new Stri ...
- Java数组的声明和遍历
Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 n ...
- java数组的声明、创建和遍历
一.数组的声明.创建 1.一维数组 先是声明 dataType[] arrayRefVar; // 首选的方法 数据类型[] 数组名; dataType arrayRefVar[]; // 效果相同, ...
- C++二维数组讲解、二维数组的声明和初始化
我们知道,一维空间是一条线,数学中用一条数轴来表达:二维空间是一个平面,数学中用平面坐标系来表达.那么二维数组又是什么样的呢? 线与面 我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线 ...
- AJPFX关于一维数组的声明与初始化
一维数组:可以理解为一列多行.类型相同的数据,其中每个数据被称为数组元素:一维数组的声明方式: type varName[]; 或 type[] varName;(推荐) ...
随机推荐
- 博客 博客vno主题(我正在用的这个博客主题)
将你自己博客园博客的主题设置为lessismore, #divRefreshComments { text-align: right; margin-right: 10px; margin-botto ...
- CodeForces 548
A. Mike and Fax time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- (MTT)连续能量函数最小化方法
(MTT)连续能量函数最小化方法 Multitarget tracking Multi-object tracking 连续能量函数 读"A.Milan,S. Roth, K. Schind ...
- 谓词 (NSPredicate)使用详情
谓词 更加详细:http://blog.csdn.net/ztp800201/article/details/8116081 //判断是否满足条件 第一种 判断一个数组(array)中满足条件的 NS ...
- 尝试封装适用于权限管理的通用API
谈谈我对权限系统的简单理解 最近一段时间在研究权限系统,在园子里看到个很牛逼的开源的基于DDD-Lite的权限管理系统,并有幸加入了作者的QQ群,呵呵,受到了很大的影响.对于权限管理我有我自己的一些简 ...
- IOS_ios逆向工程-静态分析
返回博客列表 原 ios逆向工程-静态分析 余成海 发布时间: 2014/11/03 19:17 阅读: 11201 收藏: 17 点赞: 5 评论: 6 最近在学习IOS逆向工程,查看网络上的资料也 ...
- Python打包成exe:屡试不爽的cxfreeze!
Python用cxfreeze打包,不用像什么Pyinstaller繁杂的写配置文件,一行命令足以! 安装好cxfreeze后,进行python脚本目录,执行: C:\Python27\Scripts ...
- java 写一个"HelloJavaWorld你好世界"输出到操作系统文件Hello.txt文件中
package com.beiwo.homework; import java.io.File; import java.io.FileOutputStream; import java.io.IOE ...
- MySQL模糊查询
第一种最土的方法:使用like语句第二种用全文索引 有两种方法,第一种最土的方法:使用like语句第二种听涛哥说用全文索引,就在网上搜一下: 如何在MySQL中获得更好的全文搜索结果 mysql针对这 ...
- 2016huasacm暑假集训训练四 数论_B
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/G 题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m ...