| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1327 人关注过本帖
标题:新人报道 对象作为值传递疑惑
只看楼主 加入收藏
扫地大爷
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2021-5-20
结帖率:100%
收藏
 问题点数:0 回复次数:2 
新人报道 对象作为值传递疑惑
namespace 引用类型对象作为值参数传递_看书不能理解_
{
    class Myss {

        public int Myss1 = 20;

}
    class Program
    {
        static void Test(Myss f1) {
            f1.Myss1 = 50;
            Console.WriteLine($"After member assigment; {f1.Myss1}");
            f1 = new Myss();
            Console.WriteLine($"After new object creation {f1.Myss1}");

        }

        static void Main(string[] args)
        {
            Myss a1 = new Myss();
            Console.WriteLine($"Before method call; {a1.Myss1}");
            Test(a1);
            Console.WriteLine($"afore method call; {a1.Myss1}");
            Console.ReadKey();
        }
    }
}
为什么a.Myss1==50
搜索更多相关主题的帖子: Console new 值传递 对象 WriteLine 
2021-05-21 07:36
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:0 
static void Main(string[] args)
        {
            Myss a1 = new Myss();
            Console.WriteLine($"Before method call; {a1.Myss1}");
            Test(a1);{此调用运行的是 Test(f1),只是把a1的各个值传递给了f1,在此只有一个,就是f1.Myss1=a1.Myss1(赋值),但是a1还在原位置呆着,子程序运行结束,f1寿命终结}
            Console.WriteLine($"afore method call; {a1.Myss1}");
            Console.ReadKey();
        }
2021-06-05 16:42
扫地大爷
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2021-5-20
收藏
得分:0 
回复 2楼 zbjzbj
多谢大佬指点
2021-06-16 22:38
快速回复:新人报道 对象作为值传递疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030634 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved