【问题标题】:How to Create a Dynamic Array? [duplicate]如何创建动态数组? [复制]
【发布时间】:2015-05-08 23:06:18
【问题描述】:
    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 循环”范围内,因此它不会影响全局“numberOfTheWord”变量,我无法扩展数组长度。我想要实现的是制作动态数组。我不想声明数组的长度。当用户输入一个单词时,数组的长度会自动增加。你能帮我看看怎么做吗?

【问题讨论】:

  • 使用 List 和 google(下次)。

标签: c# arrays dynamic scope


【解决方案1】:

这可以通过List 轻松完成。

示例:

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

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

【讨论】:

  • 哇,感谢您的快速回答!我会检查的。
【解决方案2】:

你只需要使用List:

var words = new List<string>();

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

【讨论】:

  • 你能给我点赞或者检查一下我的答案吗
猜你喜欢
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-23
  • 2014-07-23
  • 2016-12-21
相关资源
最近更新 更多