c# 2列表不匹配


List<Object> rollerliste = (from row in roller.AsEnumerable() select (row["rolName"])).ToList();
List<Object> yetkiliste  = (from row in roller.AsEnumerable() select (row["Visible"])).ToList();

for(int r = 0; r < rollerliste.Count(); r++)
{
for (int y = 0; y < yetkiliste.Count(); y++)
{
if(rollerliste[r].ToString() == "frmMasalar" && yetkiliste[y].ToString() == "true" && r == y)
{
cu.frmMasalar = 1;
}
else
{
cu.frmMasalar = 0;
}
}
}

实际上if(rollerliste[r].ToString() == "frmMasalar" && yetkiliste[y].ToString() == "true" && r == y)它似乎在检查正确的数据,但不工作。

tbody> <<tr>
rollerlisteyetkiliste
frmMasalar
frmYonetim

请注意,在循环中,您将一遍又一遍地覆盖cu.frmMasalar这可能就是你得不到你想要的东西的原因。

我不确定我完全明白你想做什么。但是,检查一下这样是否更简单:
cu.frmMasalar = 0;
foreach(var row in roller.AsEnumerable()) {
if((string) row["rolName"] == "frmMasalar" && (bool) row["Visible"]) {
cu.frmMasalar = 1;
break;
}
}

也有更简洁的方法来做到这一点,如果重点是找到一个条目rolName == "frmMasalar":

cu.frmMasalar = 0;
var matchingRow = roller.AsEnumerable()
.FirstOrDefault(r => (string) r["rolName"] == "frmMasalar" 
&& (bool) row["Visible"]);
if(matchingRow != null)
cu.frmMasalar = 1;

相关内容

  • 没有找到相关文章

最新更新