当前位置:  编程技术>.net/c#/asp.net

c#数组详解

    来源: 互联网  发布时间:2014-10-13

    本文导语:  数组是一种数据结构,其声明方式如下: type[] arrayName; 数组具有以下属性:     1.数组可以是一维、多维或交错的。     2.数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。     3.交错数组是数组的数组...

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

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"}; 

多维数组  

 //声明二维数组,没有初始化 
  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}}}; 


交错数组

  

 //声明交错数组,没有初始化 
  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 
      }; 

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

数组是具有相同类型的一组数据。当访问数组中的数据时,可以通过下标来指明。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

    
 
 

您可能感兴趣的文章:

  • c#基础之数组与接口使用示例(遍历数组 二维数组)
  • C#的锯齿数组以及C++实现代码
  • C# 泛型数组学习小结
  • C#各种数组的用法实例演示
  • C# 泛型数组实例学习与总结
  • c#泛型序列化对象为字节数组的示例
  • c# 交错数组讲解
  • 将二维数组转为一维数组的2种方法 iis7站长之家
  • c#数组知识点摘要
  • C#数组应用分析第1/2页
  • C#难点逐个击破(3):params数组参数
  • c#将数组内容写到txt文件中的实现代码
  • c# 多维数组应用举例(初级)
  • C#多维数组学习使用
  • asp.net(c#) 使用Rex正则来生成字符串数组的代码
  • c#获取数组最大数的值示例
  • c#获取数组中最大数的值
  • C#中List〈string〉和string[]数组之间的相互转换
  • C#数组(多维数组 交错数组)的基础知识总结
  • C# 中将数值型数据转换为字节数组的方法
  • JAVA中list,set,数组之间的转换详解
  • php数组编码转换示例详解
  • 深入反射生成数组的详解
  • 用递归查找有序二维数组的方法详解
  • 下标操作符重载模拟多维数组详解
  • 深入线性时间复杂度求数组中第K大数的方法详解
  • php数组递归转义实例详解,php转义函数
  • jquery基础教程之数组使用详解
  • 数组与List之间相互转换的方法详解
  • C++实现数组的排序/插入重新排序/以及逆置操作详解
  • 详解JAVA高质量代码之数组与集合
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 data():返回内容的字符数组形式
  • C++指针数组、数组指针、数组名及二维数组技巧汇总
  • C++ Strings(字符串) 成员 copy():将内容复制为一个字符数组
  • 如何将一个数组重新组成一个新的数组?
  • C++ Strings(字符串) 成员 c_str():将字符串以C字符数组的形式返回
  • php定义数组和使用示例(php数组的定义方法)
  • c++类对象数组初始化方式
  • php数组函数之array_combine() 数组合并函数
  • 判断php数组维度(php数组长度)的方法
  • php数组函数之array_count_values() 统计数组中所有值出现的次数
  • 请问怎么对一个数组排序,数组的内容是字符串,可能是单个也可能是多个?
  • 在我的java程序中,我从数据库中得到一批数据,不能确定是多少个,我要把它保存到我的java数组中,可是怎样才能向C++中的数组一样可以自由分配空间,在java中我必需预先指定大小,不会一定要用java中的那个可改变数组大小的类吧?
  • 一个String类型的Vector向量数组如何转换成一个String类型数组(请给代码)?
  • php数组函数之array_unique() 去除数组中重复的元素值
  • 将数组中指定数量的元素移动数组后面的实现代码
  • C++中关于[]静态数组和new分配的动态数组的区别分析
  • php判断一个数组是否为另一个数组子集的方法
  • 将二维数组转为一维数组的2种方法
  • 文件描述符集fd_set * readfds;书上这样描述数组元素的每一位对应一个文件描述符,第一个元素代表文件描述符0到31,数组第二个元素代表文
  • 深入理解数组指针与指针数组的区别
  • php数组函数之array_key_exists() 查找数组键名是否存在




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3