c# - 在linq中生成具有步长的数字序列

标签 c# linq

我需要使用 C# linq 生成一个数字序列。这是我使用 for 循环完成的方法。

int startingValue = 1;
int endValue = 13;
int increment = 5;
for (int i = startingValue; i <= endValue; i += increment) {
   Console.WriteLine(i);
}

最佳答案

如果你想模仿你的过程代码,你可以使用TakeWhile :

 Enumerable.Range(0, int.MaxValue).
            Select(i => startValue + (i * increment)).
            TakeWhile(i => i <= endValue);

但我认为这在性能和可读性方面更差。

关于c# - 在linq中生成具有步长的数字序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51496105/

相关文章:

C# Linq - 如何从第一个值拆分的 List<string> 中选择前 5 行

c# - 比较列表并返回不存在的对象

c# - 如何找到两组不连续时间的交集?

c# - 使用 LinqToXml 使用过滤器选择唯一的 XElements(按属性)

c# - 如何将 .NET 图像或字节数组转换为 Emgu.CV.Image<Emgu.CV.Structure.Bgr , byte >

c# - List<T> LINQ 投影到匿名或动态类型

c# - 如何在 C# 中使用 DBContext 编写动态 LINQ 查询

c# - 如何覆盖非虚方法?

c# - 无法从集合中推断泛型类型

c# - 从 WinDev 调用 DLL 方法