C#字符串string是值类型还是引用类型在C#中数据类型分为两年夜类, 值类型ValueType、应用类型Object 。 而字符串类型string作为一种特别的存在, 良多时辰轻易让人对其类型发生错觉
需要这些哦
visual studio
方式/
1从string类型的界说来阐发
【C#字符串string是值类型还是引用类型】 1)public sealed class String
2)注重关头字 class, 这个有印象吧, class是属于引用类型的
3)所以, 在C#中string类型就是引用类型, 这点需要服膺
文章插图
2再看int类型的界说是什么呢?
1)public struct Int32
2)int类型大师都知道是属于值类型的, 并且struct也是值类型
文章插图
3从string类型的值来阐发
1)string str = null; 这个就可以当作功
2)int a = null; 如许就会报错:“无法将null转换为int”
3)从这里也可以看出, string类型是引用类型
文章插图
4经由过程is比力运算符来阐发
建立任何一个C#的项目, 本文建立的是节制台应用法式, 输入如图所示的代码, 输入完整, 编译器就已经提醒“给定的表达式始终不是所供给的ValueType类型”, 从此处也可以看出, string不是值类型
文章插图
5经由过程is比力运算符运行成果来阐发
从运行成果可以看到, string不是值类型, 那么它就是引用类型了
文章插图
6经由过程is直接判定string是否是object来阐发
从代码与运行成果可以看出, string属于object类型, 所以, 它就是引用类型了
文章插图
7总结
从上面各类角度都可以得出结论, 在C#中, string是属于引用类型的 。 只是点窜它的值时, 它会从头拷贝一份新实例点窜, 不会在本来的空间中点窜, 所以, 轻易让人误觉得是值类型
文章插图
以上内容就是C#字符串string是值类型还是引用类型的内容啦, 希望对你有所帮助哦!
推荐阅读
- 抖音举起人扔下去是什么游戏 party.io游戏下载
- 腾讯视频怎么查看是否免流
- 抖音上滚雪球的游戏是什么 雪球大作战怎么玩
- 手机如何连接蓝牙音响
- 抖音party.io游戏怎么玩 举起人往下扔是啥游戏
- 黄淮地区指的是哪些地方 黄淮地区指哪里
- 闹太套什么梗 闹太套是什么梗
- ceo是什么职位 ceo表示什么职位
- 动车是高铁吗 动车是不是高铁
- 鸡肉是寒性食物吗 鸡肉是不是寒性食物