如何创建动态数组?

时间:2015-05-08 23:06:18

标签: c# arrays dynamic scope

    static void Main(string[] args)
    {
        int numberOfTheWords = 1;
        string[] words = new string[numberOfTheWords];

        Console.WriteLine("You can exit from program by writing EXIT ");
        Console.WriteLine("Enter the word: ");
        for(int i = 0; i < numberOfTheWords; i++)
        {
            words[i] = Console.ReadLine(); 

            if (words[i] == "EXIT")
                break;
            else
               numberOfTheWords++;
        }
    }

伙计们我正在努力扩大阵列的长度,但是&#34; numberOfTheWords&#34;变量位于&#34; for循环&#39;范围&#34;所以它不影响全球&#34; numberOfTheWord&#34;变量,我无法扩展数组长度。我想要实现的是制作动态数组。我不想声明数组的长度。当用户输入一个单词时,数组的长度将自动增加。你能帮我解决一下这个问题吗?

2 个答案:

答案 0 :(得分:1)

使用List可以轻松完成此操作。

示例:

List<string> words = new List<string>();
...
words.Add(Console.ReadLine());

列表是动态扩展的,您不必自己管理列表的大小。 .NET Framework为您做到了这一点。您还可以在中间的任何位置插入项目或从任何索引中删除一个项目。

答案 1 :(得分:0)

您只需使用List

var words = new List<string>();

数组不会动态调整大小。一个清单。有了它,我们不需要自己管理大小。此类型非常适合无法通过键访问的线性集合。