首页 > 解决方案 > 如果可以添加超过大小的元素,我们为什么要初始化数组的大小?

问题描述

我悄悄地对编程不熟悉。所以我在某处读到我们应该用大小初始化数组,否则会抛出编译错误。所以在下面的代码中,我初始化了大小为 3 的数组,这意味着数组中只能存储 3 个元素,对吗?从 0 到 2。但是当我运行代码时,我错误地给出了用空格分隔的 4 位数字作为输入。我期望索引超出范围异常,但令我惊讶的是没有错误,当我尝试将数组的数字打印到控制台时,所有 4 位数字都被打印了。怎么可能?

int[] arr = new int[3];
            arr = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();

我什至想知道是否有与上述使用 LINQ 读取多维数组的相同方法。

提前致谢!!!

标签: c#arrayslinqmultidimensional-arrayinitialization

解决方案


因为ToArray方法将列表中的元素复制到新数组中。


推荐阅读