upd*_*dev -3 c# visual-studio-2010 c#-4.0 .net-4.5
这是一个简单的问题,但我想确保我做得对!
我想生成数字列表,我从数字3开始,并为每个下一个数字添加5.
结果应该是这样的:
var list = new List<int> { 3, 8, 13, 18, 23, 28 ..... 103 };
Run Code Online (Sandbox Code Playgroud)
我的代码:
var uniqueInts = new List<int>();
addBy = 5;
for (int i = 3; i < 1000; i++)
{
uniqueInts.Add(addBy);
}
Run Code Online (Sandbox Code Playgroud)
我是否正确尝试或有任何简单的方法?
将for循环索引增加5而不是1.
for (int i = 3; i < 10000; i += 5)
{
uniqueInts.Add(i);
}
Run Code Online (Sandbox Code Playgroud)
仅作比较,这是使用Linq的方法.在这种情况下,我认为我更喜欢你的循环:)
var list = Enumerable.Range(0, 21).Select(x => x*5+3).ToList();
Run Code Online (Sandbox Code Playgroud)
编辑:不确定你的评论是什么意思,想要输出为"var list = ...",但如果你想要字符串(即源代码)作为输出,你可以使用Linq聚合;
string str = Enumerable.Range(0, 21).
Aggregate(new StringBuilder("var list = new List<int> {"),
(builder, i) => builder.Append(i*5+3 + ", ")).Append("};").ToString();
Console.WriteLine(str);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |