日期:2014-05-18  浏览次数:20729 次

关于修改list数据的问题
我定义了一个List<>,其中添加了一些自定义的结构数据,但是在遍历的时候不能修改其中的数据。具体代码如下
//定义数据元结构
struct FileForSending
{
  public string FileType;
  public string Identifier;
  public string ChNo;//范围是1~4
  public string FilePath;
  public string BeginTime;
  public string PollTime;
  public string GapTime;
  public int FileList; //属于哪个线程的FileList
}

//定义列表
List<FileForSending> g_FileList = new List<FileForSending>();
//遍历列表,修改列表中元素的属性
int FileListNum=0;
for(int i=0 ; i< g_FileList.Count ;i++)
{
g_FileList[i].FileList = FileListNum;
if (g_FileList[i].ChNo != tmp.ChNo)
{
  FileListNum++;
}
tmp = g_FileList[i];
}

红色字体的有问题,修改不了~~麻烦大家帮帮忙,谢谢~





------解决方案--------------------
这样就可以。
C# code

                FileForSending FileListtmp = g_FileList[i];
                FileListtmp.FileList = FileListNum;
                g_FileList[i] = FileListtmp;