如何创建动态数组?

How to Create a Dynamic Array?

    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++;
        }
    }

伙计们,我正在尝试扩展数组的长度,但是 "numberOfTheWords" 变量在 "for loop' scope" 中,所以它不会影响全局 [​​=15=] 变量,我无法扩展数组长度。我想要实现的是制作动态数组。我不想声明数组的长度。当用户输入一个单词时,数组的长度会自动增加。你能帮我看看怎么做吗?

这可以通过 List 轻松完成。

示例:

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

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

你只需要使用List:

var words = new List<string>();

数组不会动态调整大小。列表可以。有了它,我们就不需要自己管理尺寸了。这种类型非常适合不能通过键访问的线性集合。