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