读书人

Listlt;Teachergt; 批改Teacher对象里面的

发布时间: 2014-01-01 18:12:08 作者: rapoo

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;
}
}
}

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

读书人网 >C#

热点推荐