![]() |
1
1
看起来MyString可能是一个属性,它本身会在每次调用时创建一个新字符串。 您的800个子字符串调用将使用大约2 MB的内存,这不太可能是问题所在,但是如果您对MyString的800个调用都分配了9.7 MB字符串的新副本,那么这将是一个问题。 编辑: 回答这个问题是一个移动的目标,因为您一直在更改它,但是您的新StringBuilder示例在循环中每次都调用ToString,这将生成原始字符串的另一个副本-这将需要大约9700000*9700000/1000个字符的空间,尽管垃圾收集器可能会过来救你,但这是一项非常繁重的分配工作。 如果避免使用类的名称(例如“StringBuilder”)作为变量的名称,那么您和其他人的生活都会得到改善。使用不同的命名约定(例如,在变量上以小写字母开头) |
![]() |
2
2
我不确定这个循环是否会终止。 是不是应该是:
以便
您还需要更改上限(i<800) 或许你真正想做的是:
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |