zoukankan      html  css  js  c++  java
  • C# 数组之int[]

    一、数组分类

      数组可以简单分为3类:

    • 1维数组
    • 2维数组
    • 交错数组

    二、数组初始化

      1.一维数组

      int [] A = { 1,2,3,4 } 直接赋值

      或者

      int [] A = new int [4]{ 1,2,3,4 } new一下,并声明大小

       2.二维数组

      每行个数必须相同,适合规整的数据存储;

      int[,] AA={ {1,2 }, { 4,5 }, {6,7 } }; 直接赋值

      int[,] AA=new int[ , ] { {1,2 }, { 4,5 }, {6,7 } };new一下

      int[,] AA=new int[3,2] { {1,2 }, { 4,5 }, {6,7 } };new 并同时声明大小

      注意:没有声明子项长度时,数组每个子项的大小,必须和第一个子项相同。

       3.交错数组

      每项的个数不一定相同,自由度较高;

        int[][] AAA = { new int[]{1}, new int[]{1,2}, new int[]{3,2} };

      注意:交错数组和二维数组的区别是,交错数组并不限制子项的大小一致。


    三、数组常用函数

       int A[]的各种函数其实是由Array类来提供的,下面是Array的属性和方法:

    函数名

    方法

    示例

    Clear

    清空

    Clear(Array array, int index, int length);

    根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null。

     Array.Clear(A,0,3);

    Copy

    复制

    void Copy(Array sourceArray, Array destinationArray, int length);

    从一个数组A复制某范围内地 数据到另一个数组B

    Array.Copy(A, B, 3);

    GetLength

    获得长度

    int GetLength(int dimension);

    获得长度

    A.GetLength();

    GetValue

    获得某下标的值

    Object GetValue(Int32)

    获取一维数组中指定位置的值。索引由一个 32 位整数指定。

    Object obj = A.GetValue(1)

    等价于 A[1]

    SetValue

    设置某下标的值

    void SetValue(object value, int index);

    当前表示设置1维数组A[index]=value;

    void SetValue(object value, long index1, long index2);

    当前表示设置2维数组A[index1][index2]=value;

    A.SetValue(10,1);

    等价于 A[1]=10

    IndexOf

    查找

    int IndexOf(Array array, object value);

    第一个出现value数值的位置

    int LastIndexOf(Array array, object value, int startIndex);

    最好出现value数值的位置

    Sort

    排序

    Sort(Array array)

    将数组按照某个规则排序

    下面详解

    Reverse

    翻转

    void Reverse(Array array);

    将数组翻转

    Resize

    重设大小

    void Resize<T>(ref T[] array, int newSize);

    重新设置数组大小

    更多函数,请详见:class Array类


    四、重点函数详解

      (1)Sort排序:

    void Sort(Array array);  默认排序

    void Sort(Array array, int index, int length);   从index开始,截取length长度的数据排序

    void Sort(Array array, IComparer comparer);  常规的int/string类型数据,自定义排序

    void Sort<T>(T[] array, Comparison<T> comparison);  结构体、类等复杂的数据类型 排序,在comparison自定义排序规则

    void Sort(Array keys, Array items);  两组数组一起排序,结果按照数组keys的默认排序来排。

    void Sort(Array keys, Array items, IComparer comparer);  两组数组一起排序,结果按照数组keys的自定义排序来排。

     

    (2)Resize重新设置大小:

     void Resize<T>(ref T[] array, int newSize);

      此方法分配指定大小的新数组,将元素从旧的数组复制到新,然后使用新替换旧的数组。array必须是一维数组。

      • 如果array是null,此方法具有指定大小创建一个新数组。
      • 如果newSize大于Length的旧的数组中,分配一个新数组,且所有元素从旧的数组都复制到新。 
      • 如果newSize是小于Length的旧的数组中,分配一个新数组和元素从旧数组复制到新直到填充新的; 旧的数组中的元素的其余部分将被忽略。 
      • 如果newSize等同于Length的旧的数组,此方法不执行任何操作。

     

     

  • 相关阅读:
    MySQL
    关于多因子选股模型的常见问题
    T100 GR 报表常见知识点 (含套版制作)
    Oracle Round 函式 (四捨五入)
    Oracle的字串處理
    改變帳款性質別以利排序沖帳才不會有問題,把19->17,把12->17
    財務月結結帳相關檢核程式
    t100 常用公用變數
    一、自动驾驶行业概述(第一课,新认识)
    第一章 软件体系结构概论
  • 原文地址:https://www.cnblogs.com/01zxs/p/9436938.html
Copyright © 2011-2022 走看看