C产品在市场上有哪些独特优势?
- 内容介绍
- 文章标签
- 相关推荐
本文共计913个文字,预计阅读时间需要4分钟。
String是特殊的引用类型,广泛为人所熟知,它是引用类型。之所以String是引用类型,最简单的解释是将f12转换到String的定义中。显然,String的本质是类,字符序列存储在堆中,而String本身作为引用,指向这些存储在堆中的字符序列。
一、string是特殊的引用类型 众所周知,string是引用类型。为什么string是引用类型,最简单的方法,f12转到string的定义。显而易见,string的本质是类,字符串存储在堆中,而string作为关键字,是String的别名。
然而,实例一个string对象不需要使用 new 关键字,而是直接使用字面值字符串,如:
string str= "Hello";
Console.WriteLine(str);
Console.ReadKey();
用ILSpy查看上述的代码IL,未出现预期的IL指令newobj,只有一个特殊的ldstr指令,CLR使用一种特殊的方式构造string对象。
当然,String类也提供了不同的构造函数,可使用new构造字符串,如:
试着用new构造一个string对象,查看其产生的IL,惊喜的发现new构造的字符串使用IL指令newobj。
本文共计913个文字,预计阅读时间需要4分钟。
String是特殊的引用类型,广泛为人所熟知,它是引用类型。之所以String是引用类型,最简单的解释是将f12转换到String的定义中。显然,String的本质是类,字符序列存储在堆中,而String本身作为引用,指向这些存储在堆中的字符序列。
一、string是特殊的引用类型 众所周知,string是引用类型。为什么string是引用类型,最简单的方法,f12转到string的定义。显而易见,string的本质是类,字符串存储在堆中,而string作为关键字,是String的别名。
然而,实例一个string对象不需要使用 new 关键字,而是直接使用字面值字符串,如:
string str= "Hello";
Console.WriteLine(str);
Console.ReadKey();
用ILSpy查看上述的代码IL,未出现预期的IL指令newobj,只有一个特殊的ldstr指令,CLR使用一种特殊的方式构造string对象。
当然,String类也提供了不同的构造函数,可使用new构造字符串,如:
试着用new构造一个string对象,查看其产生的IL,惊喜的发现new构造的字符串使用IL指令newobj。

