c# - 如何在 C# 4.0 中枚举无限整数序列?

标签 c# c#-4.0 loops enumerate

C# 中是否有一个函数返回无限整数序列 [0, 1, 2, 3, 4, 5 ...]IEnumerator

我现在正在做

Enumerable.Range (0, 1000000000).Select (x => x * x).TakeWhile (x => (x <= limit))

枚举所有小于 limit 的方 block 。我意识到这很有效,但如果有一个从 0 开始计数的内置函数,我更愿意使用它。

最佳答案

您可以自己滚动。

   IEnumerable<BigInteger> Infinite() {
      BigInteger value = 0;
      while (true) {
        yield return value++;
      }
   }

编辑 <罢工> 你为什么不把限制传递给Range ?这可能会差一个...

Enumerable.Range(0, limit).Select(x => x * x);

<罢工> 我对这次编辑有误。

关于c# - 如何在 C# 4.0 中枚举无限整数序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7303027/

相关文章:

c# - WPF 选项卡顺序工作错误

c# - 将参数添加到 Razor 中的表单

c# - Xamarin.Forms 中的 SignalR

c# - 在数据库中存储 GPS 坐标的最佳方式

.net - Google Analytics API 3 - 错误 :"invalid_grant",描述 :"",Uri :""

c# - 当我尝试将枚举格式化为字符串时,为什么我的格式会出错?

security - 使用 C# 使用 HMAC-MD5 对字符串进行签名

javascript - 在javascript中循环遍历JSON格式

javascript - 使用 For 循环设置变量 (Javascript)

java - 将字符串的 ArrayList 拆分为另一个字符串的 ArrayList,返回类型为 List,而不是 void