C#中字符串的一般性和特殊性
作者:luobao 时间:2023-03-23 19:06:07
string 类型是C#的基元类型之一,它是一个引用类型,对应FCL中的System.String类型。string 类型和普通的引用类型相比有什么样的相同点和不同点呢?
1、字符串具有固定不变性,字符串存在于System.String命名空间下,通过反编译工具我们可以看到:
字符串中只有两个只读的属性,没有可设置的属性,所以说string 类型的实例具有固定不变性。只要是改变了字符串的内容,系统就会在堆内存中生成一个全新的字符串。其实这一点并不能算作是字符串的特殊性,这和普通的引用类型没什么区别,只是string类型在定义的时候,没有创建可以写的属性,所以这只能算作是字符串的一般特性。
演示代码如下:
class Program
{
static void Main(string[] args)
{
string str1 = "Hi";
string str2 = str1;
str2 = "Hello"; //这个操作相当于给实例str2重新new了一个实例
Console.WriteLine("str1的值为:{0}", str1);
Console.WriteLine("str2的值为:{0}", str2);
Console.ReadKey();
}
}
运行结果如下:
2、字符串中驻留池的概念,这是string类型特有的,所以这是字符串的特殊性。当我们声明的字符串和堆中已存在的某个字符串的值一样时,不会再在堆中开辟空间,创建新的实例,而是将当前声明字符串的引用指向已经存在的实例。
来源:http://www.cnblogs.com/luobao/p/6432278.html
标签:C#,字符串
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
解决@Autowired注入static接口的问题
2022-01-02 03:16:29
spring-boot使用AOP统一处理日志
2023-06-09 05:12:35
![](https://img.aspxhome.com/file/2023/6/77056_0s.jpg)
Android使用DocumentFile读写外置存储的问题
2023-10-23 01:58:54
![](https://img.aspxhome.com/file/2023/0/137750_0s.png)
C# 创建高精度定时器的示例
2023-03-09 12:35:58
![](https://img.aspxhome.com/file/2023/4/76434_0s.png)
java 动态增加定时任务示例
2023-07-29 06:56:00
C#中string.Empty和null的区别详解
2023-05-19 16:01:45
![](https://img.aspxhome.com/file/2023/8/68088_0s.png)
jdk线程池的实现
2023-07-05 18:44:35
![](https://img.aspxhome.com/file/2023/1/88751_0s.jpg)
控制Android LED灯颜色的代码实例
2022-12-30 02:53:20
Android中TextView自动适配文本大小的几种解决方案
2022-05-28 09:08:01
![](https://img.aspxhome.com/file/2023/7/137827_0s.jpg)
关于C++数组中重复的数字
2023-01-21 03:29:43
Effective Java (异常处理)
2022-09-24 12:17:29
android视频截屏&手机录屏实现代码
2022-12-10 15:20:31
![](https://img.aspxhome.com/file/2023/7/87537_0s.png)
java实现解析二进制文件的方法(字符串、图片)
2023-04-18 19:07:51
Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作
2023-06-01 18:01:45
![](https://img.aspxhome.com/file/2023/9/116559_0s.png)
mybatis错误之in查询 <foreach>循环问题
2023-11-17 01:10:09
Java简易登录注册小程序
2023-01-23 09:16:13
浅谈HTTP使用BASIC认证的原理及实现方法
2021-07-18 01:36:16
Jmeter接口登录获取参数token报错问题解决方案
2021-09-13 10:34:31
![](https://img.aspxhome.com/file/2023/7/113247_0s.png)
AsyncTask官方文档教程整理
2023-07-31 20:25:08
Java 如何将网络资源url转化为File文件
2023-05-28 09:23:37