关于修改list数据的问题

DustLand 2009-05-03 04:44:45
我定义了一个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];
}

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



...全文
431 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
niulei 2012-02-08
  • 打赏
  • 举报
回复
楼上的兄弟给我很大的启发,谢谢!@
qldsrx 2009-05-03
  • 打赏
  • 举报
回复
这样就可以。

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


因为你用了结构体,结构体是值传递的,在列表里就是个值,你没法改变它。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧