首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

两个List赋值的有关问题

2012-09-13 
两个List赋值的问题我这里有两个List集合 结构是这样的ListA-------------------IDMemberNameUniqueName1N

两个List赋值的问题
我这里有两个List集合 结构是这样的
ListA
-------------------
ID MemberName UniqueName
1 NULL 1
2 null 2
--------------------
ListB
--------------------
ID MemberName
1 123
2 345
--------------------
我想把B的Name 赋到A中去
我这样写的代码 
List<A> ListA= new List<A>;
List<B> ListB = new List<B>;
 foreach (A Name in ListA)
  {
  foreach (B Bname in Listb)
  {
  bool bol = false;
  Name.MemberName = string.Empty;
  if (Name.ID == Bname.ID)
  {
  bol = true;
  }
  if (bol == true)
  {
  Name.MemberName = Bname.MemberName;
   
  }  
  }
   
  }
结果,只有第一行有数据,而且第二条数据读取出来的时候还把第一条覆盖了。。。。。。。。。。。求高手指点

[解决办法]
的确,1楼说得没错。
如果代码运行没有问题,你可以在原来的代码中加一个break.

if (bol == true)
{
Name.MemberName = Bname.MemberName;
break;
}
[解决办法]
List<A> ListA= new List<A>;
List<B> ListB = new List<B>;
 foreach (A Name in ListA)
{
foreach (B Bname in Listb)
{
Name.MemberName =string.Empty;
if (Name.ID == Bname.ID)

Name.MemberName = Bname.MemberName;
break;
}
}
 }

楼主的代码可以优化下

[解决办法]
试试这样

C# code
foreach(B BName in Listb){  foreach(B AName in Lista){     if(BName.id==AName.id){        AName.MemberName=BName.MemberName;        break;     }  }} 

热点排行