C# 如果我们不显式地传递数组的大小,那么在哪里初始化数组?

C# 如果我们不显式地传递数组的大小,那么在哪里初始化数组?,c#,arrays,data-structures,converters,array-initialization,C#,Arrays,Data Structures,Converters,Array Initialization,我是编程新手。在学习数据结构数组时,我了解到,在创建数组时,必须使用大小初始化数组。但我也在一个我用来学习编码的网站上看到了一段代码片段。代码如下 int[] ar = Array.ConvertAll(Console.ReadLine().Split(' '), arTemp => Convert.ToInt32(arTemp)) 我猜代码是从控制台读取输入(一个字符串)并将其拆分为子字符串,然后转换为整数数组并存储在“ar”中 我的问题是这条线上没有错误。但是在使用它们之前没有提到数

我是编程新手。在学习数据结构数组时,我了解到,在创建数组时,必须使用大小初始化数组。但我也在一个我用来学习编码的网站上看到了一段代码片段。代码如下

int[] ar = Array.ConvertAll(Console.ReadLine().Split(' '), arTemp => Convert.ToInt32(arTemp))
我猜代码是从控制台读取输入(一个字符串)并将其拆分为子字符串,然后转换为整数数组并存储在“ar”中

我的问题是这条线上没有错误。但是在使用它们之前没有提到数组大小。怎么样?在这种情况下,该数组的大小在哪里初始化?

Array.ConvertAll()
:将一种类型的数组转换为另一种类型的数组


在这种情况下,该数组的大小在哪里初始化

Array.ConvertAll()
静态函数中,大小数组基于您的输入数组

在您的例子中,输入数组是Console.ReadLine().Split(“”)
Split(“”)
返回一个由空格分隔的单词组成的数组。将此数组的大小分配给
array.ConvertAll()
函数的输出


int-ar是对数组的引用。数组大小在运行时确定。ConvertAll(…)返回一个数组,即实际对象。创建的新数组链接到ar变量。

您对to代码的描述是正确的。数组的大小是
Split
返回的数组大小。
int[] ar = Array.ConvertAll(Console.ReadLine().Split(' '), arTemp => Convert.ToInt32(arTemp))
    //+      +++++++++++++   ++++++++++++++++++++++++                   ++++++
    //|             |                     |                                |
    //|             |                     |                                + Integer convertor
    //|             |                     |
    //|             |                     +   Input array with it's size
    //|             |
    //|             + Converting input array to array of type int
    //|
    //+ Output integer array