c# - string[]a = Console.Readline() 是否与 string[]a = new string[] 相同?
问题描述
我的问题是如果
string[] line = new string[3];
line = Console.ReadLine().Split(' ');
和
string[] line = Console.ReadLine().Split(' ');
第二种方法是否像第一种方法一样分配动态内存?
解决方案
不,这不是一回事。
line
对于这两个选项,变量使用的最终内存由Split()
方法分配。在第一个选项中,还有一个额外的string[3]
对象被浪费地分配在第一行,它从未使用过,并立即成为垃圾回收的条件。
推荐阅读
- css - 如何在窗口调整大小时更改弹性顺序?
- javascript - 来自 CosmosDB JavaScript 的 Azure 函数更改源
- django - Django 2.2.4 无法提供我的静态文件
- javascript - React+ Redux 的外部插件架构
- c++ - C++ 未解析的外部符号
- typescript - 属性的实例类型是实例本身的构造函数,打字稿
- powershell - 为所有用户提供在 Active Directory 中编辑他们自己的特定属性的能力
- rxjs - 假设所有嵌套的 RxJS 订阅都可以被 mergeMap 替换是否安全?
- docker - 使用相同 Dockerfile 的多个 Docker 容器
- git - 如何将 6 个提交更改为 2 个从功能分支到主分支