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


相关推荐

  • QT QMap 使用方法实例

    QT QMap 使用方法实例QTQMap使用方法,直接上例子,请仔细体会。

    2022年5月30日
    67
  • 【原创】无锁编程技术及实现

    【原创】无锁编程技术及实现无锁编程技术及实现作者:jx(360电商技术组) 1.基于锁的编程的缺点 多线程编程是多CPU系统在中应用最广泛的一种编程方式,在传统的多线程编程中,多线程之间一般用各种锁的机制来保证正确的对共享资源(share resources)进行访问和操作。在多线程编程中只要需要共享某些数据,就应当将对它的访问串行化。比如像++count(count是整型变量)这样的简单操作也得加锁,因为即便是增量操作

    2022年5月1日
    33
  • python编写淘宝秒杀脚本

    python编写淘宝秒杀脚本最近想抢冰墩墩的手办和钥匙圈,但是同志们抢的速度太快了,无奈,还是自己写脚本吧。添加火狐浏览器插件Omnibug是一个插件,可以简化web度量实现的开发。检查每个传出请求(由浏览器发送)的模式;如果出现匹配,URL将显示在开发人员工具面板中,并进行解码以显示请求的详细信息。在火狐浏览器的插件中直接搜索、下载即可安装geckodriver在python中使用selenium爬取动态渲染网页,这个过程之中需要安装浏览器驱动geckodrivergeckodrivergithub链接将下载后到

    2022年6月9日
    29
  • [SUS]SAP ERP传入SUS的采购订单查询不到的问题原因及解决方案

    [SUS]SAP ERP传入SUS的采购订单查询不到的问题原因及解决方案

    2021年9月6日
    71
  • Typora ——一款Markdown编辑器入门教程

    Typora ——一款Markdown编辑器入门教程Typora——Markdown编辑器入门教程附上目录:文章目录Typora——Markdown编辑器入门教程一.序二.前言那么,什么是富文本格式?什么是Markdown?**Markdown编辑器和常见的富文本编辑器有什么区别?**二.Typora简介什么是Typora?当然,typora的魅力不止于此:三.Typora的安装四.配合扩展体验更佳1.配合Pandoc扩展程序实现导出2…

    2022年5月18日
    47
  • 公用IPv6 IPv4 DNS[通俗易懂]

    IPv6下一代互联网国家工程中心ChinaIPv6DNS服务器雪人计划YetiDNSProject首选:240c::6666备用:240c::6644备用:240c::4444CNNICIPv6DNS服务器首选:2001:dc7:1000::1百度2400:da00::6666阿里云2400:3200::12400:3200:baba::1中科大2001:da8::666清华大学TUNADNS666101.6.6.6;2001:da8::666北京邮电

    2022年4月13日
    184

发表回复

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

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