bur*_*1ce 13 .net c# string clr default-constructor
int并object有一个无参数的构造函数.为什么不string呢?
更新:
为您提供更多信息。
您没有带有 的空构造函数string,但是您有String.Empty. 原因是因为 astring是一个不可变对象,string您修改的每个 a 实例实际上都string在内存中创建一个新对象。
例如:string name = "";虽然它是空的,string但它仍将保持大约20 个字节。其中string.Empty将只保存大约四或八个字节。因此,尽管它们的意思相同,但一个比另一个更有效。
但是,我相信您想要一个空的构造函数来进行操作,而StringBuilder. 可以在此处找到两者之间的一些非常好的用法(确定性能命中/使用情况)。
string可以在此处找到有关 的一些其他信息。它们是不可变的,因此之后内容无法更改。
例子:
string first = "Greg "; // Creates string "first" in memory.
string last = "Arrigotti "; // Creates string "last" in memory.
string name = first + last; // Creates string "name" in memory.
Run Code Online (Sandbox Code Playgroud)
当您编辑其中一个时,它只是string在内存中创建一个全新的。例如,如果您正在寻找一种可能在不存在中间名的字段中处理用户数据的方法,则空字符串可能包含有效用法。
希望这些为您指明正确的方向。
| 归档时间: |
|
| 查看次数: |
2485 次 |
| 最近记录: |