• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > c#数组详解

c#数组详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#数组,c#数组定义,c#数组赋值,c#数组初始化,c#数组添加元素等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

数组是一种数据结构,其声明方式如下:

type[] arrayName;

数组具有以下属性:

    1.数组可以是一维、多维或交错的。
    2.数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。
    3.交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。
    4.数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。
    5.数组元素可以是任何类型,包括数组类型。

一维数组

 

//声明一维数组,没有初始化,等于null 
  int[] intArray1; 
  //初始化已声明的一维数组 
  intArray1 = new int[3]; //数组元素的默认值为0 
  intArray1 = new int[3]{1,2,3}; 
  intArray1 = new int[]{1,2,3}; 
  

  //声明一维数组,同时初始化 
  int[] intArray2 = new int[3]{1,2,3}; 
  int[] intArray3 = new int[]{4,3,2,1}; 
  int[] intArray4 = {1,2,3,4}; 
  string[] strArray1 = new string[]{"One","Two","Three"}; 
  string[] strArray2 = {"This","is","an","string","Array"}; 

</div>

多维数组  

 //声明二维数组,没有初始化 
  short[,] sArray1; 
  //初始化已声明的二维数组 
  sArray1 = new short[2,2]; 
  sArray1 = new short[2,2]{{1,1},{2,2}}; 
  sArray1 = new short[,]{{1,2,3},{4,5,6}}; 
  
  //声明二维数组,同时初始化 
  short[,] sArray2 = new short [1,1]{{100}}; 
  short[,] sArray3 = new short [,]{{1,2},{3,4},{5,6}}; 
  short[,] sArray4 = {{1,1,1},{2,2,2}}; 
  //声明三维数组,同时初始化 
  byte[,,] bArray1 = {{{1,2},{3,4}},{{5,6},{7,8}}}; 
</div>


交错数组

  

 //声明交错数组,没有初始化 
  int[][] JagIntArray1; 
  //初始化已声明的交错数组 
  JagIntArray1 = new int [2][] { 
      new int[]{1,2}, 
      new int[]{3,4,5,6} 
     }; 
  JagIntArray1 = new int [][]{ 
       new int[]{1,2}, 
      // new int []{3,4,5}, 
       intArray2 //使用int[]数组变量 
      }; 
  //声明交错数组,同时初始化 
  int[][] JagIntArray2 = { 
      new int[]{1,1,1}, 
      //new int []{2,2}, 
      intArray1 
      }; 
</div>

数组即是一组相同类型组合在一起,使用一个通用的名称,通过分配的下标访问的数据集合中的元素。

数组是具有相同类型的一组数据。当访问数组中的数据时,可以通过下标来指明。c#中数组元素可以为任何数据类型,数组下标从0开始,即第一个元素对应的下标为0,以后逐个递增。数组可以一维也可多维。

一维数组是最基本的数组类型,其声明方法如下:

数据类型 [ ] 数组名 ;

举例:
int [ ] anArray ; // 声明一个整型的一维数组

具有两个维度的数组是二维数组,其声明方法如下:
数据类型 [ , ] 数组名 ;
举例:

int [ , ] anArray ; // 声明一个整型的二维数组
float [ , ]anArrayOfFloats; // 声明一个浮点型的二维数组
string [ , ] anArrayOfStrings; // 声明一个字符串型的二维数组

声明数组变量时,还没有创建数组,还没有为数组中元素分配任何内存空间,因此,声明数组后,需要对数组实例化:

anArray = new int [2,4] ;
anArrayOfStrings = new stirng [2,4] ;

我们也可以用给定的值对数组元素进行初始化。

int [, ] anArray = new int [2, 4] {{1,2,3,4},{5,6,7,8}};
string [, ] anArrayOfStrings = new string [2, 2] {{"某甲","某乙"}, {"冠军" ,"亚军" }};

也可使用下列快捷方式:

int [, ] anArray = {{0,1,2,3},{1,2,3,4}};
string [, ] anArrayOfStrings = {{"某甲","某乙"}, {"冠军" ,"亚军" }};

在C#语言中,数组为我们提供了一些有用的特性,利用这些特性,我们可以完成一些更高级的功能。
数组名.Length :返回一个整数,该整数表示该数组的所有维数中元素的总数。
数组名.Rank :返回一个整数,该整数表示该数组的维数。
数组名.GetLength(int dimension) :返回一个整数,该整数表示该数组的指定维(由参数dimension指定,维度从零开始)中的元素个数。

4.foreach语句针对数组或集合中的每一个元素,循环运行嵌入语句。
foreach语句的语法格式为:
foreach (数据类型 标识符 in 表达式)
嵌入语句

//包含6个元素的一维整数数组;
int[] mf1=new int[6]; //注意初始化数组的范围,或者指定初值;

//包含6个元素的一维整数数组,初值1,2,3,4,5,6
int[] mf2=new int[6]{1,2,3,4,5,6};
 
//一维字符串数组,如果提供了初始值设定项,则还可以省略 new 运算符
string[] mf3={"c","c++","c#"};

//一维对象数组
Object[] mf4 = new Object[5] { 26, 27, 28, 29, 30 };
 
//二维整数数组,初值mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4
int[,] mf5=new int[,]{{1,2},{3,4}};
 
//6*6的二维整型数组
int[,] mf6=new mf[6,6];

下面来看一个一维字符串数组的遍历

using System; 
public class MikeCat 
{ 
static void PrintArray(string[] arr) 
{ 
//打印数组元素,arr.Length 表示数组元素的个数 
for(int i=0;i<arr.Length;i++) 
{ 
Console.WriteLine("arr[{0}]={1}",i,arr[i]); 
} 
} 
public static void Main() 
{ 
string[] arr={"c","c++","c#"}; 
//将数组作为一个参数传递 
PrintArray(arr); 
} 
} 
</div>

程序结果:arr[0]=c arr[1]=c++ arr[2]=c#

下面来看一个4行2列(4*2)的整型数组的遍历:

using System; 
public class MikeCat 
{ 
static void PrintArray(int[,] arr) 
{ 
//通过两次FOR循环遍历二维数组 
for(int i=0;i<4;i++)//初始化i作为循环变量,i++实现该变量的自增运算。 
//for循环满足条件后执行完循环体一次后执行i++,然后进入下次循环。简单的c语法,这里做简单介绍供初学者学习。(详细可参阅《c# 高级编程4.0》一书) 
{ 
for(int j=0;j<2;j++) 
{ 
Console.WriteLine("arr[{0},{1}]={2}",i,j,arr[i,j]);//打印每个二维数组元素 
} 
} 
} 
public static void Main() 
{ 
//主函数 
//将数组作为一个参数传递 
PrintArray(new int[,]{{1,2},{3,4},{5,6},{7,8}}; 
} 
} 
</div>


运行结果:arr[0,0]=1 arr[0,1]=2 arr[1,0]=3 arr[1,1]=4 arr[2,0]=5 arr[2,1]=6 arr[3,0]=7 arr[3,1]=8

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C# 拷贝数组的几种方法(总结)
  • C#实现导出List数据到xml文件的方法【附demo源码下载】
  • C#遍历集合与移除元素的方法
  • C#初始化数组的方法小结
  • C#实现屏幕拷贝的方法
  • c#对象初始化顺序实例分析
  • C#中数组段用法实例分析
  • C#数组排序的两种常用方法
  • C#实现按照指定长度在数字前补0方法小结
  • C#使用二维数组模拟斗地主

相关文章

  • 2017-05-28C#如何实现图片查看器
  • 2017-05-28C#重写DataGridView
  • 2017-05-28C#中析构函数、Dispose、Close方法的区别
  • 2017-05-28C#遍历指定目录下所有文件的方法
  • 2017-05-28C# 定时器定时更新的简单实例
  • 2017-05-28C# 程序集和反射详解
  • 2017-05-28C#后台创建控件并获取值的方法
  • 2017-05-28C#字符串的常用操作工具类代码分享
  • 2017-05-28C#使用this关键字实现串联构造函数调用方法
  • 2017-05-28C#简单判断字符编码的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#图像颜色聚类高效方法实例
    • C#操作windows注册表的方法
    • ref与out之间的区别深入解析
    • C#画笔Pen绘制曲线的方法
    • 将DLL放入到资源中,运行时自动加载的小例子
    • WPF中的ListBox实现按块显示元素的方法
    • c#在控制台输出彩色文字的方法
    • C#执行存储过程并将结果填充到GridView的方法
    • C#调用VB进行简繁转换的方法
    • C#中String StringBuilder StringBuffer类的用法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有