首页 > 解决方案 > string[]a = Console.Readline() 是否与 string[]a = new string[] 相同?

问题描述

我的问题是如果

string[] line = new string[3];
 line = Console.ReadLine().Split(' ');

string[] line = Console.ReadLine().Split(' ');

第二种方法是否像第一种方法一样分配动态内存?

标签: c#stringconsole-application

解决方案


不,这不是一回事。

line对于这两个选项,变量使用的最终内存由Split()方法分配。在第一个选项中,还有一个额外的string[3]对象被浪费地分配在第一行,它从未使用过,并立即成为垃圾回收的条件。


推荐阅读