代码之家  ›  专栏  ›  技术社区  ›  Skuta

如果我不能预测一维数组的长度,如何计算它?

  •  0
  • Skuta  · 技术社区  · 16 年前

    Array of Unknown Length in C#

    如何在不需要初始化长度的情况下初始化字符串[]?我希望它是动态数组,所以当我添加一些东西时,长度会增加,而不会引发异常?

    我应该用一些列表吗?

    7 回复  |  直到 4 年前
        1
  •  6
  •   Samuel    16 年前

    如果需要一个长度未知的数组 strings ,使用 List<T> System.Collections.Generic 命名空间。

    List<string> myList = new List<string>();
    myList.Add("First");
    myList.Add("Second");
    myList.Add("Third");
    myList.Count // = 3
    

        2
  •  3
  •   Jon B    16 年前

    List<T> 我会做你想做的。这有一个 ToArray()

        3
  •  1
  •   John Ellinwood    16 年前

    我认为很多语言会将整个数组作为一个块预先分配。您可能需要使用提供此功能的包装器类。在没有指定语言的情况下,例如java和C++,int []将是一个连续的内存块。您必须分配一个新的块并复制旧的内容,或者使用一个包装器为您管理这些内容,或者执行相同的操作,或者使用指向对象的指针。在Java中可能是ArrayList或类似的。

        4
  •  1
  •   Aziz    16 年前

    什么语言?

    ArrayList 允许添加和删除元素而不设置特定大小的数据结构(或类似结构)。

        5
  •  1
  •   Rook    16 年前

        6
  •  1
  •   Daniel Brückner    16 年前

    在大多数语言中,数组的长度是固定的。如果需要动态长度,则必须使用列表之类的动态数据类型。

    我很确定在你的语言或它的库中有一个动态长度类型。

    System.Collections 命名空间。您应该关注中的泛型类 System.Collections.Generic 如果可能的话。你的案子是普通的吗 List<String> Stack<String> Queue<String> 可能很有趣。

        7
  •  0
  •   Kredns    16 年前

    using System.Collections;