各位大侠帮帮忙
我写了个逻辑根据TAG获取游戏信息 需求是根据游戏ID获取游戏关联的TAG 取前3个 第一个TAG关联9个游戏 第2和第3个各关联3个 如果总是不到15个 就按照游戏类型获取剩下的。。
我的代码是这样写的:
switch (i)
{
case 0:
List<Tag> temp1 = new List<Tag>(templist).FindAll(temp => temp.TagID == list[i]);
for (int j = 0; j < temp1.Count && j < 9; j++)
if (!gameids.Contains(temp1[j].ObjectID) && temp1[j].ObjectID!=ObjectID)
gameids.Add(temp1[j].ObjectID);
break;
case 1:
List<Tag> temp2 = new List<Tag>(templist).FindAll(temp => temp.TagID == list[i]);
for (int j = 0; j < temp2.Count && j < 3; j++)
if (!gameids.Contains(temp2[j].ObjectID) && temp2[j].ObjectID != ObjectID)
gameids.Add(temp2[j].ObjectID);
break;
case 2:
List<Tag> temp3 = new List<Tag>(templist).FindAll(temp => temp.TagID == list[i]);
for (int j = 0; j < temp3.Count && j < 3; j++)
if (!gameids.Contains(temp3[j].ObjectID) && temp3[j].ObjectID != ObjectID)
gameids.Add(temp3[j].ObjectID);
break;
}
但效率不高 请问有什么好的优化方法 谢谢了
侃侃无极