首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

List<Teacher> 批改Teacher对象里面的string[]

2014-01-01 
ListTeacher 修改Teacher对象里面的string[]ListTeacher arrTeacher new ListTeacher()Teacher

List<Teacher> 修改Teacher对象里面的string[]
List<Teacher> arrTeacher = new List<Teacher>();
Teacher 有一个属性是 是否有课  用一个数组表示
但是修改了 其中一个Teacher对象的 数组 属性 之后,
其他的 Teacher 的是否有课属性 也变了

就好像是 这些Teacher对象 公用 一个 数组似的

如何才能修改其中的一个Teacher对象的是否有课的属性,别的Teacher不跟着变?
[解决办法]
看看属性 是否被声明成静态static或依赖某个特定的数据源了
[解决办法]
 class Teacher
        {
            //姓名
            public string Name;
            //是否有课
            public string[] IsAvailable;       
        }

        public void test()
        {
            List<Teacher> arrTeacher = new List<Teacher>();
            //两个老师
            Teacher t1 = new Teacher();
            Teacher t2 = new Teacher();
            string[] tempAvailable = {"1","0", "1", "0", "1", "0" };
            string[] tempAvailable2 = { "0", "0", "0", "0", "0", "0" };
            t1.IsAvailable = tempAvailable;
            t1.Name = "张三";
            t2.IsAvailable = tempAvailable2;
            t2.Name = "李四";
            arrTeacher.Add(t1);
            arrTeacher.Add(t2);
            //修改张三是否有课属性
            foreach(var t in arrTeacher)
            {
                if (t.Name == "张三")
                { 
                    string[] newAvailable={ "1", "1", "1", "1", "1", "1" };
                    t.IsAvailable = newAvailable;
                }
            }            
        }

只会改一个教师的属性啊  不知道我理解的对不对

热点排行