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

时间:2021-12-19 04:26:33 


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; }
}

相同的结构,不同的结果。


证明string是引用类型


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;
    }
}

标签:c#,值类型,引用类型
0
投稿

猜你喜欢

  • Java 8中字符串拼接新姿势StringJoiner详解

    2022-03-09 03:00:28
  • SpringBoot应用线上重启脚本的命令详解

    2022-02-05 18:21:52
  • 散列表的原理与Java实现方法详解

    2023-06-06 06:46:29
  • Winform窗体效果实例分析

    2023-12-12 04:44:08
  • Java JDK 二分法 分析demo(推荐)

    2022-02-28 23:29:21
  • 详解C#中检查null的语法糖

    2023-08-12 11:20:08
  • Java实现FTP上传到服务器

    2022-10-07 10:28:58
  • Android 使用Shell脚本截屏并自动传到电脑上

    2022-07-06 01:21:43
  • 微信开发--自定义菜单查询返码乱码的解决方法

    2023-11-25 04:47:55
  • Android版本更新实例详解

    2023-08-05 21:54:54
  • Mybatis-Plus支持GBase8s分页查询的实现示例

    2021-11-21 14:33:30
  • iOS中的导航栏UINavigationBar与工具栏UIToolBar要点解析

    2023-07-08 16:52:22
  • 基数排序简介及Java语言实现

    2021-10-06 01:15:13
  • Mybatis映射文件规则实例详解

    2022-04-22 03:08:14
  • Android下拉刷新控件SwipeRefreshLayout源码解析

    2023-04-03 20:42:16
  • Java实现把文件及文件夹压缩成zip

    2022-03-30 05:28:45
  • java中使用xls格式化xml的实例

    2023-06-13 09:43:07
  • Spring JDBCTemplate原理及使用实例

    2023-03-11 09:47:19
  • 基于JAVA中Jersey处理Http协议中的Multipart的详解

    2021-06-15 13:43:57
  • C#数据类型转换(显式转型、隐式转型、强制转型)

    2021-11-24 13:44:25
  • asp之家 软件编程 m.aspxhome.com