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

如何在C#中将列表内容重复指定m次?

简洁重复列表内容的几种方案

给你几个比循环调用AddRange更简洁的实现方式:

1. LINQ一行搞定(最简洁)

用Enumerable.Repeat生成包含多次原列表的序列,再通过SelectMany展开成一维列表:

var list = new List<int> { 1, 2, 3 };
var repeatedList = Enumerable.Repeat(list, 3).SelectMany(x => x).ToList();

最终得到的repeatedList就是{1, 2, 3, 1, 2, 3, 1, 2, 3}。

2. 预分配容量的高效写法

如果在意性能,提前计算并分配好最终列表的容量,能避免List自动扩容带来的开销,写法也很直观:

var list = new List<int> { 1, 2, 3 };
var repeatedList = new List<int>(list.Count * 3);
foreach (var _ in Enumerable.Range(0, 3))
{
    repeatedList.AddRange(list);
}

3. 静态内容直接写死(适合固定场景)

如果原列表内容和重复次数都是固定不变的,直接初始化新列表是最直接的方式:

var repeatedList = new List<int> { 1, 2, 3, 1, 2, 3, 1, 2, 3 };

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 17:39:32