class Program
{
public struct DataStruct
{
public bool DataIsZhongJiang;
}
static void Main(string[] args)
{
List<DataStruct> list = new List<DataStruct>();
DataStruct dd = new DataStruct();
dd.DataIsZhongJiang = true;
list.Add(dd);
dd = new DataStruct();
dd.DataIsZhongJiang = false;
list.Add(dd);
for (int i = 0; i < list.Count;i++ )
{
list[i].DataIsZhongJiang = true; //报错
}
Console.ReadKey();
}
}
上面的代码,for循环遍历list集合,修改结构对象的成员值,可是为什么报错呢?
错误 1 无法修改“System.Collections.Generic.List<控制台1.Program.DataStruct>.this[int]”的返回值,因为它不是变量
这是什么意思啊?
------解决思路----------------------
因为struct的特殊性
http://www.cnblogs.com/hongfei/archive/2014/03/02/3577052.html
------解决思路----------------------
就是DataIsZhongJiang 不能修改呗。把DataStruct 换成类使用。