C#中数组的使用
1、简单数组:
声明:
int[] myArray
初始化:
声明了数组后,就必须为数组分配内存来保存数组的全部元素。特别注意的是数组是引用类型。故须要使用new运算符来指定数组中元素的类型和数量来初始化数组的变量。
myArray = new int[4]
声明初始化合并:
int [] myArray = new int[4];
使用初始化器为数组的每一个元素赋值:
须要注意的是数组初始化器仅仅能在声明数组变量时使用,不能再声明数组变量之后使用
int [] myArray = new int[4]{2,3,4,5};
假设用花括号初始化数组。还能够不知道数组的大小,编译器会自己主动统计元素的个数:
int [] myArray = new int[]{2,3,4,5};
另一种更简单的方式:
int [] myArray = {2,3,4,5};
訪问数组元素: 通过索引器传递元素编号。就能够訪问数组;索引器总是以0开头。
假设使用错误的索引器值,就会抛出异常 IndexOutOfRangeException
声明一个包括两个对象的数组:
pulic class Person
{ public string FirstName;
public string LastName;
}
Person [] myPersons = new Person[2];
接下来必须注意的是:数值中的元素是引用类型。必须为每一个数组元素分配内存。若使用了数组中未分配内存的元素,就会抛出NullReferenceException异常。
myPersons[0] = new Person{FirstName = "wang", LastName = "moumou"};
myPersons[1] = new Person{FirstName = "wu", LastName = "meimei"};
相同,对于自己定义类型也能够使用初始化器:
Person [] myPerson2 = {
new Person{FirstName = "wang", LastName = "moumou"},
new Person{FirstName = "wu", LastName = "meimei"}
};
2、多维数组:
声明二维数组,须要在方括号里加上一个逗号;数组在初始化时应指定每一堆的大小
int [,] dim2 = new int[3, 3];
dim2[0,0] = 1;
dim2[0,1] = 2;
dim2[0,2] = 3;
dim2[1,0] = 4;
dim2[1,1] = 5;
dim2[1,2] = 6;
dim2[2,0] = 7;
dim2[2,1] = 8;
dim2[2,2] = 9;
声明三维数组, 须要在方括号中使用两个逗号
3、锯齿数组
比如:
1 2
3 4 5 6
7 8 9 int [][]
jagged = new int [3][];
jagged[0]=new int[2]{1,2};
jagged[1]=new int[4]{3,4,5,6};
jagged[2]=new int[3]{7,8,9};
C#中数组的使用的更多相关文章
- JavaScript中数组操作常用方法
JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...
- jq中数组应用的错误
js中数组可以这样使用: <ul id="ul"> <li value="1">s</li> <li>f< ...
- C++程序设计(关于函数中数组传递的一点心得)
题目: 10个学生考完期末考试评卷完成后,老师需要划出及格线,要求如下: (1) 及格线是10的倍数: (2) 保证至少有60%的学生及格: (3) 如果所有的学生都高于60分,则及格线为60分: ...
- java中数组的相关知识
1. 2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages; ages=new int[5]; 3)int[]ags={1,2,3,4,5}; 4)int[ ...
- C#中数组Array、ArrayList、泛型List<T>的比较
在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序 ...
- javascript中数组Array的方法
一.常用方法(push,pop,unshift,shift,join)push pop栈方法,后进先出var a =[1,2,3];console.log(a.push(40)); //4 返回数组的 ...
- C#中数组、ArrayList和List三者的区别
在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. ...
- iOS: 使用KVO监听控制器中数组的变化
一.介绍: KVO是一种能动态监听到属性值的改变的方式,使用场景非常广泛,这里我只讲如何监听控制器ViewController中数组的变化. 二.了解: 首先我们应该知道KVO是不能直接监听控制器Vi ...
- Java中数组的特性
转载:http://blog.csdn.net/zhangjg_blog/article/details/16116613 数组是基本上所有语言都会有的一种数据类型,它表示一组相同类型的数据的集合,具 ...
- 在java 中,数组与 List<T> 类型的相互转换
在java中,数组与List<T> 之前进行互相转换,转换方法可总结为以下几种: 一. 将 数组转换成List<T> 1. 使用 Collections 的addAll 方法 ...
随机推荐
- qW3xT.2挖矿病毒 解决过程及坑
周一早上老大让我把项目更新一下,然后配置一下elasticsearch,我登上服务器之后部署的时候没有什么感觉,但是在配置elasticsearch的过程中感觉服务器哪个地方有点不对,下意识的top了 ...
- 【NOI1999、LOJ#10019】生日蛋糕(搜索、最优化剪枝、可行性剪枝)
主要是剪枝的问题,见代码,讲的很详细 #include<iostream> #include<cstdio> #include<cmath> #include< ...
- SPOJ GSS1 & GSS3&挂了的GSS5
线段树然后yy一下,搞一搞. GSS1: 题意:求最大区间和. #include <cstdio> #include <algorithm> using namespace s ...
- .Net Core(二) 下
接上面 http://www.cnblogs.com/xcodevs/p/5584218.html 在解决方案浏览器中,右击 Controllers 目录.选择添加>新建项.选择Web API控 ...
- 树莓派-基于raspistill实现定时拍照
raspistill 经过上一篇<<树莓派-安装摄像头模块>>之后 raspistill 是树莓派基于摄像头拍照命令 比如我要截取一张宽1024px,高768px,旋转180度 ...
- CSS中的五大字体家族(cursive 手写字体族更吸引我)
这是CSS中的五大字体家族. serifserif 中文翻译为“衬线字体族”.serif 具有末端加粗.扩张或尖细末端,或以实际的衬线结尾的一类字体.可以看出 serif 总是在文字末端做文章,这样做 ...
- 01--Java IO基础
一.java.io包概览 Java IO包主要可以分为如下4类: 基于字节操作的I/O接口:InputStream和OutputStream. 基于字符操作的I/O接口:Writer和Reader 基 ...
- index seek和index scan 提高sql 效率
index seek和index scan 提高sql 效率解释解释index seek和index scan:索引是一颗B树,index seek是查找从B树的根节点开始,一级一级找到目标行.ind ...
- 三维重建面试0:*SLAM滤波方法的串联综述
知乎上的提问,高翔作了回答:能否简单并且易懂地介绍一下多个基于滤波方法的SLAM算法原理? 写的比较通顺,抄之.如有异议,请拜访原文.如有侵权,请联系删除. 我怎么会写得那么长--如果您有兴趣可以和我 ...
- 浅谈Json数据格式
我们先来看下w3cschool对json的定义: JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XM ...