读书人

两个List赋值的有关问题

发布时间: 2012-09-13 09:51:53 作者: rapoo

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

读书人网 >asp.net

热点推荐