c#数组「建议收藏」

c#数组「建议收藏」C#数组要注意的事项:1.([])必须跟在类型后面,而不是标识符后面,在C#中,将方括号放在标识符后是不合法的。eg:int[]table;2.数组大小不是其类型的一部分,而在C语言中却

大家好,又见面了,我是你们的朋友全栈君。

C#数组要注意的事项:

1.([])必须跟在类型后面,而不是标识符后面,在C#中,将方括号放在标识符后是不合法的。

eg :int [] table ;

2.数组大小不是其类型的一部分,而在C语言中却是数组类型的一部分,这样,可以声明一个数组并向它分配int对象的任意数组,而不管数组长度如何;

int[] numbers;

numbers = new int[10];

 

声明数组

C#支持一维数组,多维数组和数组的数组(交错的数组),下面声明不同类型的数组:

一维数组:

int[] numbers;

多维数组:

string[,] name ;

数组的数组(交错的):

byte[][] score;

声明数组(如上所示)并不实际创建它们。在C#中,数组是对象,必须进行实例化。下面展示如何创建数组:

一维数组:

int[]  numbers  = new int[5];

多维数组:

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

数组的数组(交错的):

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

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

{

  scores[x] = new byte[4];

}

初始化数组

C# 通过将初始值括在大括号({})内为在声明时初始化数组提供了简单而直接了当的方法:

一维数组:

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

string[] names = new string[3]{“Matt”,”Joanne”,”Robert”};

可省略数组的大小,如下图示:

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

string[] names = new string[] {“MAT”,”JONE”};

如果提供了初始值设定项,还可省略new运算符,如下所示:

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

string [] names = {“Matt”,”Jhon”};

多维数组:

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

string[,]  siblings = new string[2,2] {{“Mlj”,”Amy”},{“Mary”,”Albert”}};

可省略数组大小,如下所示:

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

string[,]  siblings = new string[,] {{“Mlj”,”Amy”},{“Mary”,”Albert”}};

如果提供了初始值设定,则可省略new运算符:

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

string[,] sibling =  {{“Mlj”,”Amy”},{“Mary”,”Albert”}};

 

 

 

访问数组成员:

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

int[] numbers = {10,4 ,3,2,4,56,7,23,4,5};

numbers[4] = 5;

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

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

numbers[1,1] = 5;

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

numbers[0][0] = 58;

numbers[1][1] = 667;

 

在C#中数组实际上是对象,System.Array 是所有数组类型的抽象基类型。可以使用System.Array 具有的属性以及其它类成员,

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154743.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java实现MySQL数据库备份(一)

    Java实现MySQL数据库备份(一)Java实现MySQL数据库备份(一)

    2022年6月8日
    35
  • foreach遍历list删除元素一定会报错?

    list集合平常自以为用的非常熟了,原来只是用add()方法熟练而已,碰到remove一报错就彻底暴露了自己的短板啦。来,给list集合删除某些元素,先上一段代码:   1)报错啦   Listlist=newArrayList();list.add(“1”);list.add(“2”);list.add(“3”)

    2022年4月6日
    96
  • matlab的imread怎么用_imread函数参数的含义

    matlab的imread怎么用_imread函数参数的含义imread(matlab)                                            函数语法 A = imread(filename, fmt)[X, map] = imread(…)[…] = imread(filename)[…] = imread(URL,…)[…] = imread(

    2022年10月14日
    3
  • xp系统http服务器,WinXP HTTP500内部服务器错误的解决方法

    xp系统http服务器,WinXP HTTP500内部服务器错误的解决方法在系统造成500内部服务器错误有很多原因,而系统中出现的故障是用户最不想看到的,有时候就是因为这些故障让我们折腾个大半天才能够搞定。打开网站出现了HTTP500内部服务器错误的提示,这究竟是怎么一回事呢?下面我们就来说说WinXPHTTP500内部服务器错误的解决方法。具体解决方法如下:一、造成500错误常见原因有:ASP语法出错、ACCESS数据库连接语句出错、文件引用与包含路径出错、使用了服…

    2022年8月12日
    5
  • 完整的java项目_手把手搭建一个完整的javaweb项目

    完整的java项目_手把手搭建一个完整的javaweb项目手把手搭建一个完整的javaweb项目本案例使用Servlet+jsp制作,用MyEclipse和Mysql数据库进行搭建,详细介绍了搭建过程及知识点。下载地址:http://download.csdn.net/detail/qq_23994787/9904842点击下载主要功能有:1.用户注册2.用户登录3.用户列表展示4.用户信息修改5.用户信息删除涉及到的知识点有:1.JDBC2.Ser…

    2022年7月7日
    40
  • C++多线程通信_c++ socket 多线程

    C++多线程通信_c++ socket 多线程参考:https://m.imooc.com/article/289630C++11标准库新引入的线程库https://www.jianshu.com/p/e5a3498ba930(一)多线程编程#include<iostream>#include<thread>#include<mutex>#include<condi…

    2022年10月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号