是否有更简单的方法来编写以下内容:
var voucherCodes = new List<string>();
for (int i = 0; i < 10; i++)
{
voucherCodes.Add(GenerateCode(VoucherCodeLength));
}
我想做这样的事情:
// ten items would be added to the list so long as GenerateCode returns a string
var voucherCodes = new List<string>(GenerateCode(VoucherCodeLength), 10);
当然,我可以创建自己的函数,但我想知道是否有某些东西已经存在。
答案 0 :(得分:4)
我不能说它是否更好,但你可以使用下面的LINQ&#34; one-liner&#34;:
var voucherCodes = Enumerable.Range(0, 10).Select(_ => GenerateCode(VoucherCodeLength)).ToList();
或专门针对此调用,如果VoucherCodeLength
是常量(或不更改且没有副作用),则更短:
var voucherCodes = Enumerable.Repeat(VoucherCodeLength, 10).Select(GenerateCode).ToList();
答案 1 :(得分:2)
另一种方式
var voucherCodes = Enumerable.Repeat(GenerateCode(VoucherCodeLength), 10).ToList();