zoukankan      html  css  js  c++  java
  • 第十六章 数组

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

    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家族所替代了

  • 相关阅读:
    VSCode:无法创建临时目录
    网页很卡的原因
    用css做三角形
    移动端加载页面出现抖动、未加载完成时布局杂乱问题解决
    vue中使用axios进行ajax请求数据(跨域配置)
    fetch和XMLHttpRequest
    1-5-JS基础-数组应用及实例应用
    图片左右切换
    轮播图片切换
    轮播图片切换(函数合并)
  • 原文地址:https://www.cnblogs.com/LiMin/p/10935008.html
Copyright © 2011-2022 走看看