C# 值传参和引用传参

Class1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Class1
    {
        private int age;
        public Class1(int age)
        {
            this.age = age;
        }
        // age接口
        public int Age
        {
            get
            {
                return age;
            }

            set
            {
                age = value;
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 age = new Class1(3);
            //Growth(age);  // 调用静态方法,对象的++,会使对象年龄变为4
            Growth(age.Age);  // 整型的++,年龄虽然加到了4,但是没有输出使用,对象的年龄仍然为3
            Console.WriteLine(age.Age);  // 重新输出年龄的大小
        }
        // 定义静态方法,访问的时候不需要进行实例化
        // 该static使用的是对象类型的++,相当于引用类型
        static void Growth(Class1 child)
        {
            child.Age++;
            Console.WriteLine("又长大一岁!!!");
        }
        // 该static是int类型的++,相当于值类型
        static void Growth(int age)
        {
            age++;
            Console.WriteLine("int又长大一岁!!!");
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/namejr/p/10261486.html