我正在寻找Array.Fill的等效项,但要查找List
是否可以用一定的值填充所有列表项
Array.Fill(counters, max); // this works
listName.Fill(5); //something like this
将用5填充列表
我不想使用循环
鉴于列表中有一些项目
答案 0 :(得分:1)
Enumerable.Repeat(TResult, Int32) Method
var fives = Enumerable.Repeat(5, 10).ToList(); // create list with ten fives
无论如何,您都需要循环现有列表的所有项目,只需使用扩展方法包装循环即可。
public static void FillWith<T>(this List<T> list, T value)
{
for (var i = 0, i < list.Count, i++)
{
list[i] = value;
}
}
用法
var list = new List<int> { 1, 2, 3, 4, 5 };
list.FillWith(42);
var output string.Join(",", list); // 42,42,42,42,42