C#数组的定义,不定长的数组?
首先,在这里我要说明的是,C#中,定义了数组,那么就必须为其指定长度,且他的长度确定,不能够更改。一旦定义一个数组,那么操作系统就在内存中给这个数组指定了一块内存,他是不支持动态分配存储空间的。能够动态分配存储空间的是集合。下面给出几个数组的定义;
int[] number =new int[10];//定义了一个长度为10的int型数组,没有给元素赋值,所有的元素默认值为0
int[] number1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };//定义了一个长度为10的int型数组,且给元素赋初始值为1,2,3,4,5,6,7,8,9,10
在这里,我打印了一下number的值,给大家看看
for (int i = 0; i < number.Length; i++)
{
Console.WriteLine("数组number第{0}个元素的值为:{1}",i,number[i]);
}
打印结果:

能够迷惑人的一个应该是这个:
int[] number2=new int[]{};//我以为这个是不定长的,特意输出了一下他的长度,你们看结果
他的长度为0,我还给他赋了一下值,以为能增加长度,结果报一下错

还有一个应该是这个:int[] number3=null;
这个都没有初始化,在你初始化的时候照样要指定长度。
二维数组的定义:
int[,] number4 = new int[,] { { 1, 2, 3 }, { 1, 2, 3 } };//定义一个2*3的数组,并为每一个元素赋初值
int[,] number5 = new int[2, 3];//定义一个2*3的数组,没有为元素赋初值
int[][] number6=new int[2][]{new int[]{1,2,3,4},new int[]{1,2,3,4}};//交错数组
可能有些理解不正确,如有错误,请大家指出,我们共同讨论。
C#数组的定义,不定长的数组?的更多相关文章
- C语言对"不定长"字符串数组的遍历
一般来说,c语言的数组的初始化可以通过三种方式: {0},在声明时使用,如 int a[10]={0} 使用memset, memset(array,0,sizeof(array)) 用for循环赋值 ...
- c语言中数组的定义和java中数组定义的一些区别
感谢原文:https://blog.csdn.net/gzwdz778/article/details/79799408 一维情况下: c中,数组的声明需要给出数组的维数,比如: int arr[5] ...
- 【算法专题】工欲善其事必先利其器—— C++ STL中vector(向量/不定长数组)的常用方法总结
#include<iostream> #include<cstdio> #include<string> #include<vector>//不定长数组 ...
- C 语言字符数组的定义与初始化
1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'} ...
- JAVA数组的定义及用法
数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; ...
- JAVA_SE基础——21.二维数组的定义
2 二维数组的定义 基本与一维数组类似 //定义一个3行5列的二维数组 //方法1,先new对象,然后再初始化每个元素 int[][] a = new int[3][5]; a[0][0]=1; a[ ...
- Java——数组的定义与使用
数组的定义与使用 1.数组的基本概念 (1)数组的动态初始化: 数组首先先开辟内存空间,而后再使用索引进行内容的设置,这种定义数组的方式称为动态初始化 数组是引用数据类型,存在有内存分配问题.在使用前 ...
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...
- STL之vector(不定长数组)
vector就是一个不定长数组,另外它把一些常用操作“封装”在了vector类型内部.例如,若a是一个vector,可以用a.size()读取它的大小,a.resize()改变大小,a.push_ba ...
随机推荐
- for循环计算阶乘的和,for循环计算阶乘倒数的和
计算阶乘的和 //阶乘的和,5!+4!+3!+2! int a = 5; for(int b = 4; b > 0; b--) { a = a * b; } //先定义好最大数的阶乘是多少 in ...
- Extjs Vbox布局方式,以及align种类,flex,pack属性含义简介
VBox布局方式,熟悉下一下几个主要属性: 一.align:字符类型,指示组件在容器内的对齐方式.这个是基于容器的左上角来排列的.pack不同,pack是根据容器的最上边来显示的. 1.left(默认 ...
- 8-组成n的1的个数
/* ones时间限制:1000 ms | 内存限制:65535 KB难度:3 描述 Given a ...
- windows 10 WSL 安装 Centos
1. 打开 WSL,没啥好说的 使用管理员权限打开 powershell,执行 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft ...
- HDU_1022
题目: As the new term comes, the Ignatius Train Station is very busy nowadays. A lot of student want t ...
- 旅游类APP原型模板分享——爱彼迎
这是一款专为游客提供全球范围内短租服务的APP,可以让你不论出门在外或在家附近都能开展探索之旅,并且还可以获取世界各地独特房源.当地体验及好去处等相关信息. 这款APP层级清晰简明,此原型模板所用到的 ...
- bat 调用exe
@set errorlevel=>nul :reInput @echo 请输入批次号: @set/p 批次号= >nul @set 批次号|findstr "\\<%sea ...
- Spring AOP配置
相关概念有点拗口,我这里简单总结一个,切面,决定做什么,写处理逻辑,比如打日志.切入点,决定在哪些方里拦截,一般填正则表达式查询. 通知,就是连接切面和切入点的桥梁. 其中遇到了配置好,启动服务器没报 ...
- tomcat 启动报 找不到 StrutsPrepareAndExecuteFilter。。
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...
- 给自己名字abel.这个好,怎么字母排序都第一
给自己名字abel.这个好,怎么字母排序都第一