我正在使用 LINQ 并将列表返回到我的业务逻辑层。我正在尝试更改列表中的一个值(将“星级”评级更改为具有星级数量的图像)。
虽然计数器 (i) 似乎在工作,但 FOR 循环没有正常工作。第一次它在正确的 IF 处停止,但随后它在 ELSE 语句处弹出所有内容,所有值都以“star0.png”结尾。好像我没有在列表中循环???提前致谢!
for (int i = 0; i < ReviewList.Count; i++)
{
string serviceCode = ReviewList[i].SERVICE.SERVICE_DESC;
if (serviceCode == "*")
{
ReviewList[i].SERVICE.SERVICE_DESC = "star1.png";
}
else if (serviceCode == "**")
{
ReviewList[i].SERVICE.SERVICE_DESC = "star2.png";
}
else if (serviceCode == "***")
{
ReviewList[i].SERVICE.SERVICE_DESC = "star3.png";
}
else if (serviceCode == "****")
{
ReviewList[i].SERVICE.SERVICE_DESC = "star4.png";
}
else
{
ReviewList[i].SERVICE.SERVICE_DESC = "star0.png";
}
}
最佳答案
如果所有值都在 star0.png
处结束,那么您正在循环遍历列表。 else
语句是为每个元素执行的唯一代码这一事实暗示了一个逻辑错误——您可能是想做这样的事情吗?
string serviceCode = ReviewList[i].SERVICE.SERVICE_CODE;
关于C# For Loop with LIST 使用 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7109401/