C#传参

来源:互联网 发布:电能质量优化装置 编辑:程序博客网 时间:2024/05/20 19:16


namespace ConsoleApplication2
{
   public  class B
    {

       public B()
       {
      
       }

       public int GetAID(A a)
       {
           a.id = 100;
           return a.id;
       }
    }
}

namespace ConsoleApplication2
{
   public class A
    {
       private string _name="tan";
       private int _id;
       public A()
       { }

       public int id
       {
           get
           {
               return _id;
           }
           set
           {
               _id = value;
           }
       }
       public string name
       {
           get
           {
               return _name;
           }
           set
           {
               _name = value;
           }
       }
    }
}

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {

            A a = new A();
            B b = new B();
           int returnValue= b.GetAID(a);
           Console.WriteLine("returnValue="+returnValue.ToString());
           Console.WriteLine("/na.ID=" + a.id.ToString());
           Console.ReadLine();

        }
    }
}

返回值
returnValue=100;
a.ID=100;

 public  class B
    {


       public B()
       {
      
       }

       public int GetAID(A a)
       {
           A a1 = new A();
           a1 = a;
           a1.id = 100;
           return a1.id;
       }
    }

    返回值
returnValue=100;
a.ID=100;

  public B()
       {
      
       }
       public int GetAID(A a)
       {
           a = new A();
         
           a.id = 100;
           return a.id;
       }
    }

     返回值
returnValue=100;
a.ID=0;

1.对象做为实参传递时,传递的只是对象地址的copy
  当参数new时,指向了新的对象
2. 值类型参数传递时,是值的copy, 当然string 除外,string是值传递,
3. 引用类型传递时,是地址的Copy  

原创粉丝点击