C#属性器Get和Set

public sealed class classroom
    {
        private List<string> student = new List<string>();
        private List<string> student1 = new List<string>();
        public List<string> Student
        {
            get { return student; }
            set { student1 = value; }
        }
       // public List<string> Student = new List<string>();
        private string name="xiaoming";
        public string Name
        {
            get { return name; }
           // set { name = value; }
        }
    }

static void Main(string[] args)
        {
            classroom students = new classroom
            {
                Student = { "a", "b" }
            };
            foreach (var item in students.Student)
            {
                Console.WriteLine(item.ToString());
            }
            students.Student = new List<string>() { "c"};
        }


通过上面代码 验证:
get索引器 相当于
Student=student
即:Student 实际上是 对 student 指针的引用;操作 Student 实际上是 操作 student
用 Student.add()方法 修改对象时 不调用set方法。

set 索引器 相当于 student1=value
即: 当新建对象赋值给 student1是 会调用set方法。


posted @ 2014-07-24 10:41  Coding_Yong  阅读(644)  评论(0)    收藏  举报