有以下程序 “ public List<FaceLogManager.FaceLogInfo> templist = new List<FaceLogManager.FaceLogInfo>();
........
....Add...
.....Add...
.......
for(i=0;i<templist.Count;i++)
{
if(......)
......
....
templist[i].endTime = DateTime.Now; //endTime 在FaceLogInfo已定义好位 DateTime 类型,但是这句话报错,貌还 是语法错误,说是 什么变量不能赋值什么的(日文系统,看不懂,求解决办法,如何给这个templist[i].endTime赋值)
}
........
....Add...
.....Add...
.......
for(i=0;i<templist.Count;i++)
{
if(......)
......
....
templist[i].endTime = DateTime.Now; //endTime 在FaceLogInfo已定义好位 DateTime 类型,但是这句话报错,貌还 是语法错误,说是 什么变量不能赋值什么的(日文系统,看不懂,求解决办法,如何给这个templist[i].endTime赋值)
}
List中的值类型无法修改的原因详解
这里除了介绍为什么List中的值类型对象无法修改属性,也介绍了如何反射的方式修改属性。当然,这么复杂的做法,你是不会愿意大量在项目中使用的,最好办法是少用struct.
如果是field, 会不会是readonly?
如果是property,有没有set方法?
....Add...
.....Add...
.......
先确认它们是new FaceLogManager.FaceLogInfo()
那你看下,是不是有对应的属性templist[i].EndTime,如果有就对它进行赋值,如果它有public的set的话
templist[i].EndTime = DateTime.Now;