惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
博客园_首页
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
F
Fortinet All Blogs
腾讯CDC
罗磊的独立博客
IT之家
IT之家
I
InfoQ
V
V2EX
博客园 - 叶小钗
A
About on SuperTechFans
Y
Y Combinator Blog
C
Check Point Blog
量子位
Martin Fowler
Martin Fowler
Vercel News
Vercel News

博客园 - sopper

Visual Assist X设置 转 mac入门系列教程之二–-Mac与众不同(4) 转 mac入门系列教程之二–-Mac与众不同(3) 转 mac入门系列教程之二–-Mac与众不同(2) 转 mac入门系列教程之二–Mac与众不同(1) 转 C++带有指针数组的结构体转换为C#可用的结构体 C#调用C++版本dll时的类型转换要注意的问题 小技巧 瑞星版本20.49.30的Bug C++控件的数据交换和数据校验 VC6类向导对窗体按钮添加的消息映射代码 c/c++下常见的内存错误及其对策 CORBA_TAO的环境配置 - sopper - 博客园 再议ManualResetEvent 异步socket的线程分配(C#) 你知道main函数参数的用处吗? - sopper - 博客园 小技巧避免项目中的大隐患 提给dudu的一个小建议 vc6使用点滴积累
你能确定这段代码的输出结果吗?
sopper · 2008-01-09 · via 博客园 - sopper
 

今天向朋友请教一个问题,对话是这样子的,

问:c#下用一个实例 赋给一个新定义的对象,copy过去?还是引用?

答:引用

问:你肯定?

答: 恩,C#下的赋值都是引用

完了我就写了下面的代码去测试,代码如下:

class myClass
    
{
        
public int num ;
    }
;

    
struct myStruct
    
{
        
public int num ;
    }
;

class Program
    
{
        
static void Main(string[] args)
        
{
          myClass myclass 
= new myClass();
          myClass myclassb 
= myclass;

          myClass myclassa 
= new myClass();
          myclassa 
= myclass;  

          myclassa.num 
= 1;
          Console.WriteLine(
"myclass.num = " + myclass.num.ToString());
          Console.WriteLine(
"myclassa.num =" + myclassa.num.ToString() + "\t\tmyclassb.num = " + myclassb.num.ToString()); 


          myclass.num 
= 2;
          Console.WriteLine(
"myclass.num = " + myclass.num.ToString());
          Console.WriteLine(
"myclassa.num =" + myclassa.num.ToString() + "\t\tmyclassb.num = " + myclassb.num.ToString()); 


///////////////////////////////////////////////////////////////////// 
          myStruct mystruct = new myStruct();
          myStruct mystruct1 
= mystruct;
          mystruct1.num 
= 1;
          Console.WriteLine(
"\n\nmystruct.num =" + mystruct.num.ToString() + "\t\tmystruct1.num =" + mystruct1.num.ToString());

          mystruct.num 
= 2;
          Console.WriteLine(
"mystruct.num =" + mystruct.num.ToString() + "\t\tmystruct1.num =" + mystruct1.num.ToString());
        }

    }

代码看完了,写出你认为的结果,是什么?

我想不用说大家都知道结论是什么了吧  *^_^*