博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# Array
阅读量:4950 次
发布时间:2019-06-11

本文共 1983 字,大约阅读时间需要 6 分钟。

一、声明数组时,方括号[]必须跟在类型后面,而不是标识符后面

  int[] table;  //而不是 int table[];

二、数组的大小不是其类型的一部分

  int[] numbers;

  numbers=new int[10];

  numbers=new int[20];

三、多维数组

  string[,] names;

  string[,] names=new string[5,4];

  int[,,] buttons=new int[5,3,2];

四、数组的数组(交错的)

  byte[][] scores;

  byte[][]scores=new byte[5][];

  for(int x=0;x<scores.Length;x++)

  {

    scores[x]=new byte[4];

  }

  int[][,,][,] numbers;

五、数组初始化,C# 通过将初始值括在大括号 ({}) 内为在声明时初始化数组提供了简单而直接了当的方法。如果在声明时没有初始化数组,则数组成员将自动初始化为该数组类型的默认初始值。另外,如果将数组声明为某类型的字段,则当实例化该类型时它将被设置为默认值 null

  int[] numbers=new int[5]{1,2,3,4,5};

  string[] names=new string[]("Matt","Joanne","Robert"};

  int[] numbers={1,2,3,4,5};

  int[,] numbers=new int[3,2]{

{1,2},{3,4},{5,6}};

  string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} };

六、交错数组初始化,可按下例所示的方法进行,对于交错数组的元素没有初始化语法

  int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };

  可省略第一个数组的大小,如下所示:

  int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };

  -或-

  int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} };

七、访问数组成员,访问数组成员可以直接进行,类似于在 C/C++ 中访问数组成员。例如,下面的代码创建一个名为 numbers 的数组,然后向该数组的第五个元素赋以 5

 int[] numbers = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
 numbers[4] = 5;

  下面的代码声明一个多维数组,并向位于 [1, 1] 的成员赋以 5

 int[,] numbers = { {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10} };
 numbers[1, 1] = 5;

  下面声明一个一维交错数组,它包含两个元素。第一个元素是两个整数的数组,第二个元素是三个整数的数组:

 int[][] numbers = new int[][] { new int[] {1, 2}, new int[] {3, 4, 5}};

  下面的语句向第一个数组的第一个元素赋以 58,向第二个数组的第二个元素赋以 667

  numbers[0][0] = 58;

  numbers[1][1] = 667;

八、在 C# 中,数组实际上是对象。System.Array 是所有数组类型的抽象基类型。可以使用 System.Array 具有的属性以及其他类成员。这种用法的一个示例是使用长度”(Length) 属性获取数组的长度。下面的代码将numbers 数组的长度(为 5)赋给名为 LengthOfNumbers 的变量:

  int[] numbers={1,2,3};

  int LengthOfNumbers=numbers.Length;

九、对数组使用foreach,该语句提供一种简单、明了的方法来循环访问数组的元素。

  int[] numbers = {4, 5, 6, 1, 2, 3, -2, -1, 0};

  foreach (int i in numbers)

  {

     System.Console.WriteLine(i);

  }

 

转载于:https://www.cnblogs.com/alsofly/p/3506310.html

你可能感兴趣的文章
Setting up a Passive FTP Server in Windows Azure VM(ReplyCode: 227, Entering Passive Mode )
查看>>
Atitit mtp ptp rndis midi协议的不同区别
查看>>
Ajax辅助方法
查看>>
Python模块调用
查看>>
委托的调用
查看>>
c#中从string数组转换到int数组
查看>>
Scrapy入门程序点评
查看>>
DotNetty网络通信框架学习之源码分析
查看>>
8.1 Android Basic 数据存储 Preferences Structured(分组的Preferences)
查看>>
原因和证明
查看>>
VC6.0图像处理2--图像的反色
查看>>
Snoop, 对WPF程序有效的SPY++机制
查看>>
Does not contain a valid host;port authority解决方法
查看>>
JAVA程序猿怎么才干高速查找到学习资料?
查看>>
使用axel下载百度云文件
查看>>
Qt中图像的显示与基本操作
查看>>
详解软件工程之软件测试
查看>>
WCF(二) 使用配置文件实现WCF应用程序
查看>>
【CodeForces 803 C】Maximal GCD(GCD+思维)
查看>>
python 去掉换行符或者改为其他方式结尾的方法(end='')
查看>>