You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# UWP实现将列表元素循环重复添加至空列表至指定长度

没问题,我来帮你搞定这个循环填充列表的需求!

首先得理清楚变量对应关系:你说的「第一个空列表需要填充到指定数量」「第二个列表是已有元素的源列表」,你示例里的变量名好像搞反啦,我下面会用更清晰的命名来写代码。

核心思路就是用取模运算实现循环遍历源列表,直到目标列表达到指定长度。直接上完整的可运行代码:

// 源列表:已经有元素的第二个列表
List<Product> sourceProducts = new List<Product>
{
    new Product { Name = "商品1", Price = 10 },
    new Product { Name = "商品2", Price = 20 },
    new Product { Name = "商品3", Price = 30 }
};

// 目标列表:需要填充的空列表(第一个列表)
List<Product> targetList = new List<Product>();

// 设定目标列表需要达到的元素数量
int targetCount = 7;

// 循环填充逻辑
for (int i = 0; i < targetCount; i++)
{
    // 取模运算让索引在源列表长度内循环
    int loopIndex = i % sourceProducts.Count;
    Product currentProduct = sourceProducts[loopIndex];
    
    // 注意:如果Product是引用类型,直接Add会复用同一个对象引用
    // 要是需要每个元素都是新实例,记得克隆对象,比如:
    // Product newProduct = new Product { Name = currentProduct.Name, Price = currentProduct.Price };
    targetList.Add(currentProduct);
}

关键细节解释:

  • i % sourceProducts.Count:这个取模操作是核心,当i增长到超过源列表长度时,会自动回到0,实现循环取元素的效果。比如源列表有3个元素,i=3时3%3=0,就会取第一个元素,i=4时4%3=1,取第二个元素,以此类推。
  • 引用类型注意事项:如果Product是类(引用类型),直接添加源列表的元素会让目标列表和源列表指向同一个对象。如果需要目标列表里的每个元素都是独立的新对象,一定要手动创建新实例并复制属性,或者给Product类实现克隆方法。

内容的提问来源于stack exchange,提问作者positive perspective

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:46:53