指针和和一般的数据传递
如下代码为测试代码,有兴趣的话,试下运行结果
 using System;
using System;

 namespace ConsoleTest1
namespace ConsoleTest1
 {
{
 /// <summary>
    /// <summary>
 /// Class1 的摘要说明。
    /// Class1 的摘要说明。
 /// </summary>
    /// </summary>
 class Class1
    class Class1
 {
    {
 /// <summary>
        /// <summary>
 /// 应用程序的主入口点。
        /// 应用程序的主入口点。
 /// </summary>
        /// </summary>
 [STAThread]
        [STAThread]
 static void Main(string[] args)
        static void Main(string[] args)
 {
        {
 Student stu=new Student();
            Student stu=new Student();
 stu.Name="Student-1";
            stu.Name="Student-1";
 string str="str-stu-1";
            string str="str-stu-1";
 Change ch=new Change(stu,str);
            Change ch=new Change(stu,str);
 Console.Write(stu.Name+"\n"+str+"\n");
            Console.Write(stu.Name+"\n"+str+"\n");
 Console.ReadLine();
            Console.ReadLine();
 }
        }
 }
    }
 class Student
    class Student
 {
    {
 private string name;
        private string name;
 public string Name
        public string Name
 {
        {
 get
            get
 {
            {
 return name;
                return name;
 }
            }
 set
            set
 {
            {
 name=value;
                name=value;
 }
            }
 }
        }
 }
    }
 class Change
    class Change
 {
    {
 public Change(Student stu,string str)
        public Change(Student stu,string str)
 {
        {
 stu.Name="student-2";
            stu.Name="student-2";
 str="str-stu-2";
            str="str-stu-2";
 }
        }
 }
    }
 }
}
 
 using System;
using System;
 namespace ConsoleTest1
namespace ConsoleTest1 {
{ /// <summary>
    /// <summary> /// Class1 的摘要说明。
    /// Class1 的摘要说明。 /// </summary>
    /// </summary> class Class1
    class Class1 {
    { /// <summary>
        /// <summary> /// 应用程序的主入口点。
        /// 应用程序的主入口点。 /// </summary>
        /// </summary> [STAThread]
        [STAThread] static void Main(string[] args)
        static void Main(string[] args) {
        { Student stu=new Student();
            Student stu=new Student(); stu.Name="Student-1";
            stu.Name="Student-1"; string str="str-stu-1";
            string str="str-stu-1"; Change ch=new Change(stu,str);
            Change ch=new Change(stu,str); Console.Write(stu.Name+"\n"+str+"\n");
            Console.Write(stu.Name+"\n"+str+"\n"); Console.ReadLine();
            Console.ReadLine(); }
        } }
    } class Student
    class Student {
    { private string name;
        private string name; public string Name
        public string Name {
        { get
            get {
            { return name;
                return name; }
            } set
            set {
            { name=value;
                name=value; }
            } }
        } }
    } class Change
    class Change {
    { public Change(Student stu,string str)
        public Change(Student stu,string str) {
        { stu.Name="student-2";
            stu.Name="student-2"; str="str-stu-2";
            str="str-stu-2"; }
        } }
    } }
}
运行结果是:
student-2
str-stu-1
为什么不是以下两种
student-2
str-stu-2
student-1
str-stu-1
构造函数的两个参数,一个传的是指针(Student),另一个传的是一般变量(string )
 
                     
                    
                 
                    
                 
 
        

 
     
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号