将列表项重复添加到另一个列表中一定次数C#UWP

时间:2018-04-07 17:21:00

标签: c#

我有两个清单。第一个列表为空,但必须填充一定次数。第二个列表包含已知数量的元素,并且必须在旋转时将这些元素分配给第一个列表,直到第一个列表已满。

这样的事情:

List<Product> productList1 = new List<Product>(); // previously populated list. 
List<Product> productList2 = new List<Product>();

for (int i = 0; i < productList1.Count; i++)
{
    Product _product = new Product;
    _product.ProductName = productList1[i].ProductName;
    productList2.Add(_product);
}

int n = productList2.Count;

List<Product> productList3 = new List<Product>;

for (int f = 0; f < n; f++)
{
    for (int i = 0; i < 60; i++)
    {
        productList3.Add(productList2[f];
    }
}

// repeat 'f' loop until i arrives at 60

EG。 List2.Count = 4,可以互换地填充List3和List2产品,直到List3总共到达60个产品。

productList2: Product1, Product2, Product3, Product4.
productList3: Product1, Product2, Product3, Product4, Product1, Product2, Product3, Product4, Product1, Product2, Product3, Product4, and so on until reached 60 records. 

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,如果原始列表有n个元素,则在新列表的n + 1位置,你需要添加原始列表的第一个元素,在n + 2位置,第二个元素,在2n + 1上再次第一次等等。

所以你可以试试这个

int n = 60; //could be any number
int count = originalList.Count;

for (int i = 0; i < n; i++)
{
    newList.Add(originalList[i % count]); //the remainder of the division
}