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


猜你喜欢
- 最近面试时,面试官问了一个列表倒计时效果如何实现,现在记录一下。运行效果图实现思路实现方法主要有两个:1.为每个开始倒计时的item启动一个
- java 接口回调实例详解首先官方对接口回调的定义是这样的,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,
- @Conditional的使用@Conditional可以根据条件来判断是否注入某些Bean。package com.morris.spri
- 大家好,因为近期做需求中遇到了文件上传这个东西,而且我这个还是跨服务去传输文件的所以我这边使用了httpclient和RestTemplat
- 一、方法的定义1.方法体中最后返回值可以使用return, 如果使用了return, 那么方法体的返回值类型一定要指定2.如果方法体重没有r
- 在 Java 中,当我们处理String时,有时需要将字符串编码为特定字符集。编码是一种将数据从一种格式转换为另一种格式的方法。字符串对象使
- HandlerThread 顾名思义就是一种可以使用 Handler 的 Thread。日常开发中我们经常会通过创建一个 Thread 去执
- 1、@RequestMapping@RequestMapping 既可以用在类级别,也可以用在方法级别,当它定义在类级别的时候,标明该控制器
- c语言颜色代码初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性。/*颜色函数SetConsoleTextAtt
- 本文主要介绍的是一个球形水波的百分比控件,市面上有各种形形色色的百分比控件,我一直觉得水波是最炫的,UI给了我这个机会,然而网上搜了一大堆,
- 本文实例讲述了Java实现的校验银行卡功能。分享给大家供大家参考,具体如下:步骤:首先区分借记卡和信用卡,然后就是校验卡号,最后根据银联Bi
- handler在安卓开发中是必须掌握的技术,但是很多人都是停留在使用阶段。使用起来很简单,就两个步骤,在主线程重写handler的handl
- 安卓项目开发中,项目中使用到jni开发,使用C/C++编写了自己的so库,调试和运行一切正常,Android.mk文件代码如下:LOCAL_
- 前言使用Redis来实现Session共享,其实网上已经有很多例子了,这是确保在集群部署中最典型的redis使用场景。在SpringBoot
- 1、通过查找API文档:2、Map.Entry是一个接口,所以不能直接实例化。3、Map.entrySet( )返回的是一个collecti
- Servlet1 Servlet 简介Servlet就是Sun 公司开发动态web的一门技术Sun在这些API中提供一个接口叫做:Servl
- 一般我们在controller层调用service时,只需要使用@Autowired注解即可,例如如下代码我们经常看到:@RestContr
- 在 APK 开发中,通过 Java 代码来打开系统的安装程序以安装 APK 并不是什么难事,一般的 Android 系统都有开放这一功能。但
- 提几个问题,从问题中去了解去学习:他们之间有啥区别?如果我使用notify(),将通知哪个线程?我怎么知道有多少线程在等待,所以我可以使用n
- 本文实例讲述了Android编程之利用服务实现 * 听的方法。分享给大家供大家参考,具体如下:1. 启动模拟器,部署应用2. 利用模拟器控制