• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C# yield return使用示范范例,求1000以内的素数

OC/C/C++ 水墨上仙 1994次浏览

C# yield return使用演示范例,求1000以内的素数
下面的代码详细的演示yield return的经典用法,多次返回
附件中包含了详细的源代码和可执行文件,可以直接运行查看结果

//代码来自脚本分享网(http://www.75271.com/codes)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;

public class Primes {
    private long min;
    private long max;    
	
	public Primes(long minimum, long maximum) {
        min = minimum;
        max = maximum;
    }    
	
	public IEnumerator GetEnumerator() {
        for (long possiblePrime = min; possiblePrime <= max; possiblePrime++) {
            bool isPrime = true;
            for (long possibleFactor = 2; possibleFactor <= (long)Math.Floor(Math.Sqrt(possiblePrime)); possibleFactor++) {
                long remainderAfterDivision = possiblePrime % possibleFactor;
                if (remainderAfterDivision == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                yield return possiblePrime;
            }
        }
    }
}

class Program {
    static void Main(string[] args) {
        Primes primesFrom2To1000 = new Primes(2, 1000);
        foreach (long i in primesFrom2To1000)
            Console.Write("{0} ", i);
    }
}

返回结果如下


2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 1
07 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 2
23 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 3
37 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 4
57 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 5
93 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 7
19 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 8
57 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 9
97

附件:源代码下载


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C# yield return使用示范范例,求1000以内的素数
喜欢 (0)
加载中……