C#中string类型是一个比较特别的类型,它是一种引用类型,但在使用中,它表现的像一个值类型一样。这是因为string是不可变的(immutable)。

  string具有以下的一些特性: 

  1. string是一个字符序列,是String类的一个别名,别且它是一个关键字。

  2. string是引用类型,每个string实例是一个常量,是不可变的,因此对一个string进行修改时,实际上都是创建了一个新实例。    

1         static void Main(string[] args)
2         {
3 
4             string str = "First";
5             string str_1 = str;//str_1与str指向同一个实例
6             Console.WriteLine(string.ReferenceEquals(str, str_1));//结果是True
7             str += "New";//修改str的值
8             Console.WriteLine(string.ReferenceEquals(str, str_1));//结果是False
9         }

相关文章: