如何在C#中设置列表的所有值

时间:2019-07-13 23:33:16

标签: c#

我正在寻找Array.Fill的等效项,但要查找List

是否可以用一定的值填充所有列表项

Array.Fill(counters, max); // this works

listName.Fill(5);   //something like this

将用5填充列表

我不想使用循环

鉴于列表中有一些项目

1 个答案:

答案 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