c# – String对象如何在没有new关键字或构造函数的情况下分配内存?

在C#中,如果我们想要创建一个string类型的变量,我们可以使用:

string str="samplestring"; // this will allocate the space to hold the string

在C#中,string是类类型,因此如果我们想要创建一个对象,通常我们必须使用new关键字.那么如果没有新的或构造函数,分配会如何发生呢?

最佳答案
这只是C#编译器,通过允许字符串文字为您提供快捷方式.

如果您愿意,可以通过任意数量的不同constructors实例化字符串.例如:

 char[] chars = { 'w', 'o', 'r', 'd' };
 string myStr = new String(chars);

转载注明原文:c# – String对象如何在没有new关键字或构造函数的情况下分配内存? - 代码日志