C#字符串string是值类型还是引用类型

在C#中数据类型分为两年夜类,值类型ValueType、应用类型Object。而字符串类型string作为一种特别的存在,良多时辰轻易让人对其类型发生错觉

东西/原料

  • visual studio

方式/步调

  1. 1

    从string类型的界说来阐发

         1)public sealed class String

         2)注重关头字 class,这个有印象吧,class是属于引用类型的

         3)所以,在C#中string类型就是引用类型,这点需要服膺

  2. 2

    再看int类型的界说是什么呢?

         1)public struct Int32

         2)int类型大师都知道是属于值类型的,并且struct也是值类型

  3. 3

    从string类型的值来阐发

         1)string str = null;  这个就可以当作功

         2)int a = null;  如许就会报错:“无法将null转换为int”

         3)从这里也可以看出,string类型是引用类型

  4. 4

    经由过程is比力运算符来阐发

         建立任何一个C#的项目,本文建立的是节制台应用法式,输入如图所示的代码,输入完整,编译器就已经提醒“给心猿意马的表达式始终不是所供给的ValueType类型”,从此处也可以看出,string不是值类型

  5. 5

    经由过程is比力运算符运行成果来阐发

         从运行成果可以看到,string不是值类型,那么它就是引用类型了

  6. 6

    经由过程is直接判定string是否是object来阐发

         从代码与运行成果可以看出,string属于object类型,所以,它就是引用类型了

  7. 7

    总结

         从上面各类角度都可以得出结论,在C#中,string是属于引用类型的。只是点窜它的值时,它会从头拷贝一份新实例点窜,不会在本来的空间中点窜,所以,轻易让人误觉得是值类型

  • 发表于 2019-01-08 00:00
  • 阅读 ( 909 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具