C# : .NET
Top 36 C# Example Pages...

[["XX(CCSTUUUUTTUUUUYF64746474F766F1BZBCCBXBCCcBCP676ZBCCCP6XSTTUUUUTTUUUU","shw..sdsrtt.","Prime numbers."," A prime number has no divisors (other than itself and 1). This method checks for prime numbers fast. Prime numbers are computed in the .NET Framework.","Primes are used"," in many programs\u2014they are used in the Dictionary class. They help with hashing. The .NET Framework provides a method for testing primes.","An example."," The algorithm here determines if a specific number is a prime number. It can be found in the System.Core assembly in the .NET Framework, in the HashHelpers class. ","Note: ","It contains several optimizations that improve the performance of the computation.","Next: ","This program shows the results on the primes between 0 and 100, and between 10000 and 10100, proving correctness.","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.6\n\n","C# program that tests IsPrime, Program.cs","\n\nusing System;\n\nclass Program\n{\n static void Main()\n {","\n //\n // Write prime numbers between 0 and 100.\n //\n ","Console.WriteLine(","\"--- Primes between 0 and 100 ---\"",");\n for (int i = 0; i < 100; i++)\n {\n bool prime = PrimeTool.","IsPrime","(i);\n if (prime)\n {\n Console.Write(","\"Prime: \"",");\n Console.WriteLine(i);\n }\n }","\n //\n // Write prime numbers between 10000 and 10100\n //\n ","Console.WriteLine(","\"--- Primes between 10000 and 10100 ---\"",");\n for (int i = 10000; i < 10100; i++)\n {\n if (PrimeTool.","IsPrime","(i))\n {\n Console.Write(","\"Prime: \"",");\n Console.WriteLine(i);\n }\n }\n }\n}\n\n","C# program that contains IsPrime, PrimeTool.cs","\n\nusing System;\n\npublic static class PrimeTool\n{\n public static bool ","IsPrime","(int candidate)\n {","\n // Test whether the parameter is a prime number.\n ","if ((candidate & 1) == 0)\n {\n if (candidate == 2)\n {\n return true;\n }\n else\n {\n return false;\n }\n }","\n // Note:\n // ... This version was changed to test the square.\n // ... Original version tested against the square root.\n // ... Also we exclude 1 at the end.\n ","for (int i = 3; (i * i) <= candidate; i += 2)\n {\n if ((candidate % i) == 0)\n {\n return false;\n }\n }\n return candidate != 1;\n }\n}\n\n","Output","\n\n--- Primes between 0 and 100 ---\nPrime: 2\nPrime: 3\nPrime: 5\nPrime: 7\nPrime: 11\nPrime: 13\nPrime: 17\nPrime: 19\nPrime: 23\nPrime: 29\nPrime: 31\nPrime: 37\nPrime: 41\nPrime: 43\nPrime: 47\nPrime: 53\nPrime: 59\nPrime: 61\nPrime: 67\nPrime: 71\nPrime: 73\nPrime: 79\nPrime: 83\nPrime: 89\nPrime: 97\n--- Primes between 10000 and 10100 ---\nPrime: 10007\nPrime: 10009\nPrime: 10037\nPrime: 10039\nPrime: 10061\nPrime: 10067\nPrime: 10069\nPrime: 10079\nPrime: 10091\nPrime: 10093\nPrime: 10099","Notes, above example."," We loop over the numbers 0 to 99 and the numbers 10000 to 10099. We display all the prime numbers in those ranges by writing them to the console. ","Console.Write ","console-write","Notes, IsPrime."," This is defined in the PrimeTool class, and it is a public static method. It does not save state and should be reused in one place rather than duplicated. ","Static ","static","Bitwise AND test: ","The IsPrime method first uses a bitwise AND test. This tests the specific first bit.","Incrementing by two: ","This is an optimization that reduces the number of iterations. Even numbers are skipped over.","For ","for","Update."," The IsPrime method previously here had some problems. It considered 1 a prime number, and the Math.Sqrt method was slower than squaring the induction variable (i). ","Math.Sqrt ","sqrt","Note: ","These changes were suggested by David Simner. Dot Net Perls thanks all contributors.","Important: ","Please notice that the method is no longer the same version found in the .NET Framework.","HashHelpers."," This is used in Dictionary. This class contains an integer array of prime numbers that are preferred for hashtables. These numbers were selected for performance. ","Int Array ","int-array","Note: ","These integers are not the first N prime numbers, but a selection of the first N prime numbers.","Class that shows GetPrime method from HashHelpers: C#","\n\npublic static class PrimeToolHash\n{\n static int[] primes;\n\n static PrimeToolHash()\n {","\n //\n // Initialize array of first primes before methods are called.\n //\n ","primes = new int[]\n {\n 3, 7, 11, 17, 23, 29, 37,\n 47, 59, 71, 89, 107, 131,\n 163, 197, 239, 293, 353,\n 431, 521, 631, 761, 919,\n 1103, 1327, 1597, 1931,\n 2333, 2801, 3371, 4049,\n 4861, 5839, 7013, 8419,\n 10103, 12143, 14591, 17519,\n 21023, 25229, 30293, 36353,\n 43627, 52361, 62851, 75431,\n 90523, 108631, 130363,\n 156437, 187751, 225307,\n 270371, 324449, 389357,\n 467237, 560689, 672827,\n 807403, 968897, 1162687,\n 1395263, 1674319, 2009191,\n 2411033, 2893249, 3471899,\n 4166287, 4999559, 5999471,\n 7199369\n };\n }\n\n public static int ","GetPrime","(int min)\n {","\n //\n // Get the first hashtable prime number\n // ... that is equal to or greater than the parameter.\n //\n ","for (int i = 0; i < primes.Length; i++)\n {\n int num2 = primes[i];\n if (num2 >= min)\n {\n return num2;\n }\n }\n for (int j = min | 1; j < 2147483647; j += 2)\n {\n if (PrimeTool.IsPrime(j))\n {\n return j;\n }\n }\n return min;\n }\n}","Dictionary."," Whenever you add an element to Dictionary or initialize it with a specific capacity, the private instance Initialize() method is called. ","Dictionary ","dictionary","And: ","This method uses the HashHelpers class, which contains the GetPrime method.","Tip: ","When the Dictionary must resize to have a capacity of more than 7199369 buckets, the IsPrime method is used in a loop.","Tip 2: ","This code is not run on smaller Dictionaries but is part of all Dictionary instances.","Dictionary Initialize method:","\n\nprivate void Initialize(int capacity)\n{\n int prime = HashHelpers.GetPrime(capacity);\n this.buckets = new int[prime];","\n // ...\n // ...\n","}","A summary."," This logic determines whether a number is a prime number. We described the algorithmic design of the IsPrime method, which provides optimized logic for testing number factors. ","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto"],"url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAABCCAMAAAAVIXgzAAAAMFBMVEX/////6u7/3+XOwf/0xf+7v//y3v/w8f//2eb/+vX/59T/ztzk5///9O7/4tz/6uVDuxD0AAAAvElEQVR42u3YNw4DMQwFUSptoMPe/7YWILJi4zXUWJg5wAdepSArt7dRUU96zVLv/HIrTkmcmrgFCRIkSJAgQYIECRIkSLO3nlY+6uihXu5VS713flkS8ql8xKlenPItmbrVLL2dhH6fmrgFCRIkSJD+mrRbaSujql7qFUu9K52WhHwqbXGqF6d8SyZucceDBAkSJEiQIEHih4gfIt5LkCBBggTpVgsetdzxIEGCBAkSJEiQIEGCBClsLdsHXGYDTXcJauEAAAAASUVORK5CYII=)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEXc/9n///+VlZX29vZR8Bg5AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)"]

["url(data:image/jpeg;base64,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)","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAABFCAMAAAAIJEiLAAAAGFBMVEUAru+g2Pf///8xt/BpxvPS6/vp9f0TtPCISbH1AAADCklEQVR4Xu2bwY7CMAxEPWM7/P8fr9baaNSG0lIQK6q8U2vhxk9ODD1gJBE3uwS3AEkjwy5EkCajqzgZ7GLAwi5G2M2uxceEJpPJZDKZTCYTzzCBsH8kAMCeA0OOJykNkLDP4iZAMu05UjkyYnMZveyEX3QJf9iVJN6npIC6FNTtWfSI/aeRfLsSpCAnup0nyF4nPqwkAwwV5ctKrS9G4qNKPtT/+nEK9t44/0EJ2mUiFTyr1EoEdSGlQGYi+t0vpRSFS6k+CZgwh5K1FJCJRkrJ7zYk7kQdiCeUUIskCSlFY8EWmiJCpy89WaRLiEruoLEjJfRNLxTesxRjdpB0r4ueB4p4rJTrQj0poHXuKG0UGsOcapXnh5WcJEDSajnNQWQJ+LaSUBG5Dsooc6EUW3W2laqziMNKlqVElFJ/ZLoavjkeCrhBn0OPRbm11VdeSknjZXfnPa0EsjUyuhLU5bp8rFQRnfqm5HIKXayVsmeLjfZBzT2mFCyslLSUtvUjJSwqVV810BRbKSkslBirOuHHvyb+Th/qLvtSUewqtVWl6rB6V7EYlRReo4TnycWaySqRgntKeU/JTNGm2FElzYfzSlFr9p7FaSVdKMozSvmykpPE+5TaQqmbfXbjWWoy6XCKUxtPUXxUqWmBrqTSTyvFYuItYu3cxItM2DE4KLk2zxmloLwxDnFQOUpaUwnjC8dZpdh+gMrZVjL2ZL2gVreaV4aUtCHF+GD1lvQTStCrE5kIiwio41nh3yjivpKqBiA5/IWS42+8ODLDWeC8Uq0lIGPFNpU82VFMAbnrYO3+HlJ393GSGJUMg1KRO0qDU7oVUJ5yNDfExhnzPKwUoxJWr3HMUAL2lAq0ITNaTxveanPndUmxtBeJACL8bvRQri9DgNIetcm1HYdp+w3kOMmgkHBW8BsInbhHX0Ge39EkGeRDI0DD4YucfLgTLOD2VU7QTRkNSgj7JkAogMHIIsK+DSwEZPR+JpPJZDKZTG7XEwq7GG6wi4Er/n+J7VJO0Wgk4Vf5L6CD5A+G4BPe8JfzjgAAAABJRU5ErkJggg==)","url(data:image/png;base64,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)","url(data:image/jpeg;base64,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)","url(data:image/jpeg;base64,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)"]