我知道有一个用于所有类型的 .NET 字典和哈希表中:
internal static class HashHelpers
- 其他地方也有公共的吗?
- 如果不是,为什么它保留在内部不是很常用的东西吗?
- 如果我的代码中需要素数,复制和粘贴是否可行?
我无法回答您关于 HashHelpers 可用性的问题,但这里有一些您自己实现它的方法。
这里有一些关于生成素数的命令式实现的帖子: 最优雅的生成素数的方法
此外,您可以在 LINQ 中执行此操作:
var odds =
from n in Enumerable.Range(0, int.MaxValue)
select 3 + (long) n * 2;
var primes = (new[] { 2L }).Concat(
from p in odds
where ! odds.TakeWhile(odd => odd * odd <= p).Any(odd => p % odd == 0)
select p);
资料来源:http: //jacobcarpenter.wordpress.com/2008/03/26/linq-to-prime-numbers/
编辑:不要在初始范围内使用 int.MaxValue 。将此限制在适当的范围内。