using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.IO;
using System.Net.Sockets;
using System.Threading;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Test a = new Test();
            a.Message = "初始值";
            Test001(a);
            Console.WriteLine("没有添加ref关键字,也没有对引用参数引用了新的一个Test类型的对象,结果为:{0}", a.Message);

            Test b = new Test();
            b.Message = "初始值";
            TestRef(b);
            Console.WriteLine("没有添加ref关键字,并重新对引用参数引用了新的一个Test类型的对象,结果为:{0}", b.Message);

            Test c = new Test();
            c.Message = "初始值";
            TestRef(ref c);
            Console.WriteLine("关键字ref关键字,并重新对引用参数引用了新的一个Test类型的对象,结果为:{0}", c.Message);

            Console.Read();
        }

        static void TestRef(Test t)
        {
            t = new Test();
            t.Message = "对象已赋值";
        }

        static void TestRef(ref Test t)
        {
            t = new Test();
            t.Message = "对象已赋值";
        }

        static void Test001(Test t)
        {
            t.Message = "对象已赋值";
        }
    }

    public class Test
    {
        private string _message;
        public string Message
        {
            get
            {
                return _message;
            }
            set
            {
                _message = value;
            }
        }
    }
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-09
  • 2022-02-07
  • 2022-12-23
  • 2021-05-29
  • 2021-09-06
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2022-01-09
  • 2022-12-23
  • 2021-07-17
  • 2021-10-18
相关资源
相似解决方案