码迷,mamicode.com
首页 > 其他好文 > 详细

特殊引用类型(string)

时间:2017-07-27 20:19:58      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:可变   intval   for   console   private   tle   turn   arch   target   

 private string FuncWithParameters(int param1, String param2, List<string> param3)
        {
            // 我们在这里改变参数值
            param1 = 100;
            param2 = "hello";
            param3.Add("sfs");
            return "thank you for reading me";
        }
        public void Test()
        {
            int intValue = 200;
            String strParam = "hi";
            List<string> list = new List<string>();
            list.Add("Item1");

            FuncWithParameters(intValue, strParam, list);
            Console.WriteLine("param1: " + intValue);
            Console.WriteLine("param2: " + strParam);
            Console.WriteLine("list count: " + list.Count);

            Console.ReadLine();
        }

自己先心里猜猜param1、param2、list count是什么值, 按照逻辑思维想既然是引用类型那么输出结果应该为:param1:200、param2:"hello"、list count :2;

实际上并不是我们逻辑思维的那样,因为string类型比较特殊(MSDN上这样解释:字符串对象是不可变的,即它们一旦创建就无法更改。对字符串进行操作的方法实际上返回的是新的字符串对象。) ,也可以看下其他园子里的详细解释:C# string 特殊的引用类型

正确的结果为:param1:200、param2:"hi"、list count :2。

 

 

广告插播欢迎同行加入企鹅群:662685831

特殊引用类型(string)

标签:可变   intval   for   console   private   tle   turn   arch   target   

原文地址:http://www.cnblogs.com/yokoo/p/7246553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!