【发布时间】:2016-09-19 19:28:01
【问题描述】:
有没有更简洁的写法:
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);
当然,我可以创建自己的函数,但我想知道是否已经存在某些东西。
【问题讨论】:
-
Enumerable.Range(0, 10).Select(n => GenerateCode(VoucherCodeLength)).ToList(); -
当前实现有什么问题?它有效,可读,简短。
-
@Dennis Fair 问题。我认为尽可能减少代码是件好事。如果存在像
Enumerable.Range()这样可读的东西,那么我最好使用它而不是创建自己的函数或使用 for 循环,这是我的看法。 -
@Dennis 就我个人而言,在这种特殊情况下,我更喜欢单线,但我同意原版还不错。口味问题。也许OP也喜欢单线。有些单行是恐怖表演;这没关系海事组织。