c# - 如何在 C# 中设置列表的所有值
问题描述
我正在寻找 Array.Fill 的等价物,但要寻找 List
是否可以用特定值填充所有列表项
Array.Fill(counters, max); // this works
listName.Fill(5); //something like this
会用 5 填满一个列表
我不想使用循环
鉴于列表中有一些项目
解决方案
Enumerable.Repeat(TResult, Int32) 方法
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
推荐阅读
- c++ - How to store a series of SFML sprites
- python - How to identify data type from stdout in nodejs exec method?
- docker - http2: server sent GOAWAY and closed the connection; LastStreamID=73, ErrCode=NO_ERROR, debug="" when pushing docker image to private Artifactory
- sharepoint - How to apply security patch in SharePoint 2010 without upgrading to cumulative update?
- python - Problem with os.makedirs() function with Python3 on Mac OS Catalina
- python - Convert tensorflow to jpeg. Python
- javascript - How can I make a https request to Stripe API with Axios?
- sql-server - Two Problems With DTC
- c++ - 调用虚函数的覆盖导致分段错误
- webpack - nextjs 与 apollo 永远捆绑在开发中