C#将String视为基元类型,C#编译器允许在源代码中直接使用字面值字符串.编译器将这些字符串存放到模块的元数据中,并在运行时加载和引用它们....C#不允许使用new操作符从字面值字符串构造String对象,代码如下:
?
相反,必须使用以下简化语法:
?
编译代码并检查IL(使用ILDasm.exe),会看到以下内容:
?...实际是用一种特殊方式构造字面值String对象
如果使用不安全的(unsafe)代码,可以从一个Char*或Sbyte*参数构造一个String.这时要使用C#的new操作符,并调用由String...类型提供的、能接受Char*或Sbyte*参数的某个构造器.这些构造器将创建String对象,根据由Char实例或有符号(signed)字节构成的一个数组来初始化字符串。...其他构造器则不允许接受任何指针参数,用任何托管编程语言写的安全(可验证)代码都能调用它们.
2、关于特殊字符的处理:
C#提供了一些特殊的语法来帮助开发人员在源代码中输入字面值(literal)字符串,