博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十六章 数组
阅读量:4357 次
发布时间:2019-06-07

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

 数组:始终是应用类型、内存分配也是分配在堆上的。不管你数组中存放的类型是什么比如:

Int[] ary=new int[100]; string[] ary2=new string[220];

1.所有数组类型都从System.Array抽象类隐式派生,后者又派生自System.Object。

2.所有数组隐式实现IEnumerableICollectionIList  (System.Array也实现这三个接口)

 

3.泛型接口:

所有数组都会被CLR实现 泛型接口。

IEnumerable<T>,ICollection<T>IList<T>    T 如果是引用类型,那么CLR也会对 T的基类型实现泛型接口,

比如刚刚定义的: ary2 CLR会为他实现IEnumerable<string>,ICollection<string>IList<string>同时也会为基类型的泛型接口

  IEnumerable<Object>,ICollection<Object>IList<Object>  等,

但是呢要是 T是值类型比如刚定义的ary

那么仅仅是实现了IEnumerable<int>,ICollection<int>IList<int> (有的网友认为不会产生这个接口实际上呢是有的)

 

4.数组分类:一维数组、多维数组、交错数组(没用过~~

5.数组类型转化:要求维度相同、非值类型(值类型通过copy实现)

6.数组传递返回:实参实际上传递的是引用、出参可以是null 或者new int[0]

 

数组基本不常用、被大量的List家族所替代了

转载于:https://www.cnblogs.com/LiMin/p/10935008.html

你可能感兴趣的文章
angular service 进行组件通信
查看>>
linux安装Mac的默认Monaco字体
查看>>
java语言的特点
查看>>
关于动态添加iview admin路由以及刷新侧边栏
查看>>
ApplicationInsights的探测器尝鲜
查看>>
java 解析Json格式数据
查看>>
unix中的线程池技术详解
查看>>
CSS简介
查看>>
常用三大软件评价1
查看>>
MVC各层介绍使用---初步理解
查看>>
单例对象的创建与销毁
查看>>
知识点关键词(记录一下)
查看>>
国际结算业务
查看>>
嵌套循环概念
查看>>
C# 生成订单号的几种方式
查看>>
IOS开发札记
查看>>
1.2.2 OSI参考模型 上
查看>>
centos服务器设置代理上网的方法
查看>>
Linux企业运维高效技巧心得及分享
查看>>
fdisk分区和挂载
查看>>