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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • UDP服务recvfrom函数设置非阻塞

    UDP服务recvfrom函数设置非阻塞本文先介绍我查看了的2篇文章,然后介绍linux和windows下的非阻塞设置。最后是非阻塞情况下接收情况的判断。2篇博文其实UDP的非阻塞也可以理解成和TCP是一样的,都是通过socket的属性去做。方法一:通过fcntl函数将套接字设置为非阻塞模式。方法二:通过套接字选项SO_RECVTIMEO设置超时。https://blog.csdn.net/daiyudong20…

    2022年7月23日
    98
  • stm32智能小车设计「建议收藏」

    stm32智能小车设计「建议收藏」提前说说博主是用寄存器写的驱动历时两周,总算把小车弄好了,总体上来说做的太慢了。自己在32的学习中还不够仔细深入,只是浅面的学习,当真正做一个项目时,暴露的问题就太多了。这次在小车的制作的过程中,遇到了各种各样的问题,软件,硬件,各式各样的问题迎面而来,真的好几次心态崩了。不过还好小车这个项目不只是我一个人在搞,组里的其他成员也在一直在考虑问题,想办法,不断地解决解决,总归小车终于做好了,下面…

    2022年10月18日
    6
  • Yii框架官方教程增补篇6——基础知识:应用、组件、配置、生命周期

    Yii框架官方教程增补篇6——基础知识:应用、组件、配置、生命周期

    2021年8月28日
    69
  • 华为 OSPF的router-id冲突了,会怎么样?

    华为 OSPF的router-id冲突了,会怎么样?少一些无奈与感慨 多一份从容和淡然

    2025年12月1日
    5
  • @Configuration两种起作用的方法

    @Configuration两种起作用的方法

    2021年6月8日
    94
  • 使用 Python 爬取网页数据

    使用 Python 爬取网页数据在需要过去一些网页上的信息的时候 使用 Python 写爬虫来爬取十分方便 1 使用 urllib request 获取网页 urllib 是 Python 內建的 HTTP 库 使用 urllib 可以只需要很简单的步骤就能高效采集数据 配合 Beautiful 等 HTML 解析库 可以编写出用于采集网络数据的大型爬虫 注 示例代码使用 Python3 编写 urllib 是 Python2 中 urllib 和 urllib2 两个库合并而来 Python2 中的 urllib2 对应

    2025年8月11日
    5

发表回复

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

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