两个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;
}
}
}