源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c#字符串值类型与引用类型比较示例

  • 时间:2020-10-04 04:06 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#字符串值类型与引用类型比较示例
[u]复制代码[/u] 代码如下:
classProgram {     staticvoid Main()     {         int a = 9;    //给变量a赋值为9         int b = a;   //将a的副本给变量b         b = 10;         Console.WriteLine(string.Format("a={0},b={1}", a, b));         Person ZS = newPerson();       //张三         ZS.Age = 99;           //张三的年龄是99         Person SM = ZS;        //三毛等于张三,即张三和三毛就是同一个人         SM.Age = 100;      //三毛年龄变成100,张三也就变成了100        Console.WriteLine(string.Format("A={0},B={1}", ZS.Age, SM.Age));         Console.ReadKey();     } } classPerson {     publicint Age { get; set; } }
相同的结构,不同的结果。 [b]证明string是引用类型[/b]
[u]复制代码[/u] 代码如下:
using System; classProgram {     staticvoid Main()     {         int n = 99;         Console.WriteLine("Before:n={0}", n.GetHashCode());         //此时获取到的哈希码值就是n的变量值         GetInt(n);         string s = "Hello";         Console.WriteLine("Before:s={0}", s.GetHashCode());         GetString(s);         Console.ReadKey();     }     staticint GetInt(int n)     {         Console.WriteLine("After:m={0}", n.GetHashCode());         //传过来的是变量值,说明这是值传递         return n;     }     staticstring GetString(string s)     {         Console.WriteLine("After:s={0}", s.GetHashCode());         //传过来的是地址而不"Hello",说明这时引用传递         return s;     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部