/*
 *A Test of C#
 *Use Odd sieve to count or print the Primes.
 *T2370 1.73G, 2G Ram, 10^8 use 2.8s
 *winxos 2010-3-5
 */
using System;
namespace ConsoleApplication1
{
    class Test
    {
        static void Main()
        {
            Console.Write("Input N: ");
            int n = Convert.ToInt32(Console.ReadLine()); //Read Input and convert to Integer
            int begin = Environment.TickCount;
            Console.WriteLine(Run(n)); //The primes number below n
            Console.WriteLine("{0} ms.", Environment.TickCount - begin); //output the time Elapsed
        }
        static int Run(int n)
        {
            int total = 0;
            byte[] m = new byte[n / 2 + 1];
            for (int i = 0; i <= n / 2; i++) //odd sieve, m[i] means 2*i+1 and m[0] store the prime 2
            {
                m[i] = 1;
            }
            for (int i = 1; 4 * i * i <= n; i++)
            {
                if (m[i] == 1)
                {
                    int step = 2 * i + 1; //the sieve step
                    for (int j = i + step; 2 * j < n; j += step)
                    {
                        m[j] = 0;
                    }
                }
            }
            for (int i = 0; i < n / 2; i++)
            {
                if (m[i] == 1)
                {
                    total++;
                    //Console.Write("{0} ",2*i+1);
                }
            }
            return total;
        }
    }
}

D:\Program Files\Microsoft Visual Studio 9.0\VC>csc t.cs
适用于 Microsoft(R) .NET Framework 3.5 版的 Microsoft(R) Visual C# 2008 编译器 3
.5.30729.4926

版权所有(C) Microsoft Corporation。保留所有权利。

D:\Program Files\Microsoft Visual Studio 9.0\VC>dir
驱动器 D 中的卷是 Soft
卷的序列号是 78C6-FCB5

D:\Program Files\Microsoft Visual Studio 9.0\VC 的目录

2010/03/05  15:27    <DIR>          .
2010/03/05  15:27    <DIR>          ..
2010/02/17  00:20    <DIR>          atlmfc
2010/02/17  00:19    <DIR>          bin
2010/02/17  00:19    <DIR>          ce
2010/02/17  00:20    <DIR>          crt
2010/02/25  09:35    <DIR>          include
2010/02/17  00:32    <DIR>          lib
2010/02/17  00:20    <DIR>          redist
2010/03/05  15:27               590 t.cs
2010/03/05  15:27             4,096 t.exe

2010/02/17  00:19    <DIR>          VCAddClass
2010/02/17  00:19    <DIR>          VCContextItems
2007/01/14  15:01               159 vcEmptyTestProject.vsz
2010/02/17  00:19    <DIR>          VCNewItems
2010/02/17  00:20    <DIR>          vcpackages
2010/02/17  00:19    <DIR>          VCProjectDefaults
2010/02/17  00:19    <DIR>          vcprojectitems
2010/02/17  00:21    <DIR>          vcprojects
2010/02/17  00:19    <DIR>          VCResourceTemplates
2010/02/17  00:19    <DIR>          vcsmartdeviceprojectdefaults
2005/01/06  07:51             1,247 vcvarsall.bat
2010/02/17  00:21    <DIR>          VCWizards

D:\Program Files\Microsoft Visual Studio 9.0\VC>t
Input N: 100000
9592
16 ms.

D:\Program Files\Microsoft Visual Studio 9.0\VC>t
Input N: 1000000
78498
16 ms.

D:\Program Files\Microsoft Visual Studio 9.0\VC>t
Input N: 10000000
664579
249 ms.

D:\Program Files\Microsoft Visual Studio 9.0\VC>t
Input N: 100000000
5761455
2792 ms.

---------------------------the output ends here--------------------------

今天翻看了一下C#的语法,可以发现基本和C++一样,不过使用起来更简单,更强大,

以上的程序编译出来大小只有4K,已经算比较小了,

C#的框架非常类似于JAVA,那个经典的public static void main

C#中多线程的使用也非常的简单,

GUI中可以直接使用GDI+进行图形绘制,

很不错的一个语言。

winxos 2010-3-5