文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#中如何初始化数组

2023-06-17 21:38

关注

这篇文章给大家介绍C#中如何初始化数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

C#数组初始化

int[] iArray = new int[3]{2, 3, 4} 花括号被称为数组初始化器,数组初始化器只能在声明数组变量时使用,不能在声明数组之后使用C#数组初始化,还可以不指定数组的大小 int[] iArray = new int[]{2, 3, 4} 编译器会自动计算,使用C#编译器还有一种更简化的形式 int[] iArray = {2, 3, 4};

分清数组维数和每一维长度(上下界)的区别;

用括号声明数组是C#中使用Array类的记号,在后台使用C#语法,会创建一个派生于基础Array的新类。这样,就可以使用Array类为每个C#数组定义的方法和属性了。例如Length属性,还可以使用foreach语句迭代数组,其实这是使用了Array类中的GetEnumerator()方法,或者说在Array类中实现了枚举器。

Array类是一个抽象类,不能使用构造函数来创建数组,但除了可以使用C#语法创建数组实例外,还可以使用它的CreateInstance()静态方法创建数组,如果事先不知道元素类型,或者想创建索引不基于0的数组,就可以使用改静态方法。

数组是引用类型,所以将一个数组赋予另一个数组变量,就会得到两个指向同一个数组的变量。而复制数组实现ICloneable接口。这个接口定义的Clone()方法会创建(无需创建新数组则使用CopyTo方法或Array.Copy())一个数组的浅副本,也就是说,如果数组元素是值类型,就会复制所有的值,如果数组包含的是引用类型,则不复制元素本身,而只是复制引用。如果需要包含引用类型的数组的深副本,就必须迭代数组,创建新对象。

Array类实现了对数组中元素的冒泡排序。Sort()方法需要数组中的元素实现IComparable接口。简单类型,如String和Int32实现了IComparable接口(升序)。调用语法为Array.Sort(...)

类对象如果需要在数组或集合中能够被排序,就必须实现ICompable接口,这个接口定义了一个方法CompareTo();但如果排序的方式比较复杂,如需要对哪个字段进行排序,是升序还是降序,或者不能修改类的定义,则可以针对该类定义一个IComparer接口,在调用数组或集合的Sort()方法时执行它,IComparer接口定义了Compare()方法。

Array类实现了IEumerable、ICollection和IList接口,ICollection接口派生于IEnumerable,IList派生于ICollection。以上介绍C#数组初始化。

关于C#中如何初始化数组就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯