【发布时间】:2018-10-31 19:44:41
【问题描述】:
class orders
{
public string orderNumber { get; set; }
public string id { get; set; }
public List<string> idList { get; set; }
}
我有一个从 1 到 100 的订单列表。我需要为列表中的每个成员分配列表中“orderNumber”相同的其他成员的所有“id”。我想将它分配给字符串的“idList”列表。在订单列表中,可能有多组具有相同“orderNumber”的订单。
我试图从逻辑上思考这一点,但无法提出可行的解决方案。
我尝试了以下方法:
List<string> temp = new List<string>();
for (int x = 0; x < orders.Count; x++)
{
if (string.Equals(orders[x].orderNumber, orders[x + 1].orderNumber))
{
temp.Add(orders[x].id);
temp.Add(orders[x + 1].id);
i++;
}
else
{
for(int o = 0; o < i; o++)
{
orders[o].idList= new List<string>();
orders[o].idList= temp;
}
i = 0;
temp.Clear();
}
}
【问题讨论】:
-
"cannot come up with a solution that works."-- 向我们展示当时不起作用的解决方案。我们不是代码编写服务 -
我尝试使用 for 循环并匹配 orders[x].orderNumber == orders[x + 1].orderNumber 然后将两个“id”添加到字符串列表并增加计数.一旦循环找到下一个不匹配的 orderNumber,我就使用另一个上升到计数的 for 循环将字符串列表分配给每个订单的“idList”。这适用于具有相同 orderNumber 但不是倍数的一组订单。