RSS

17 cách viết “Hello World” với C#

22 Dec

Chúng ta thường bắt đầu một ngôn ngữ lập trình bằng cách viết lại chương trình Hello World! (chương trình in ra dòng chữ “Hello World!”). Đây được coi là chương trình đầu tiên của các ngôn ngữ lập trình. Có rất nhiều cách viết chương trình “Hello World!” trong từng ngôn ngữ lập trình. Bài viết này sẽ giới thiệu 17 cách viết chương trình “Hello World!” với ngôn ngữ C#. Hãy cùng khám phá nào Winking smile

1. “Hello World” cho người mới bắt đầu (A beginners Hello World)

using System;

namespace Hello_World
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!");
        }
    }
}

2. Phiên bản cải tiến hơn chút (Slightly improved version)

using System;

namespace Hello_World
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

3. Command line Arguments

using System;

namespace Hello_World
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(args[0]);
        }
    }
}

4. Sử dụng hàm khởi tạo (Constructor)

using System;

namespace Hello_World
{
    class HelloWorld
    {
        public HelloWorld()
        {
            Console.WriteLine("Hello World!");
        }
        static void Main(string[] args)
        {
            HelloWorld hw = new HelloWorld();
        }
    }
}

5. Sử dụng hàm

using System;

namespace Hello_World
{
    class HelloWorld
    {
        public void helloWorld()
        {
            Console.WriteLine("Hello World!");
        }
        static void Main(string[] args)
        {
            HelloWorld hw = new HelloWorld();
            hw.helloWorld();
        }
    }
}

6. Sử dụng một class khác

using System;

namespace Hello_World
{

    class HelloWorld
    {
        static void Main(string[] args)
        {
            PrintHelloWorld phw = new PrintHelloWorld();
            phw.WriteHelloWorld();
        }
    }

    public class PrintHelloWorld
    {
        public void WriteHelloWorld()
        {
            Console.WriteLine("Hello World!");
        }
    }
}

7. Kế thừa (Inheritance)

using System;

namespace Hello_World
{
    abstract class helloWorldBase
    {
        public abstract void writeHelloWorld();
    }

    class HelloWorld : helloWorldBase
    {
        public override void writeHelloWorld()
        {
            Console.WriteLine("Hello World!");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            HelloWorld hw = new HelloWorld();
            hw.writeHelloWorld();
        }
    }
}

8. Hàm tạo tĩnh (Static Constructor)

using System;

namespace Hello_World
{
    class HelloWorld
    {
        private static string strHelloWorld;

        static HelloWorld()
        {
            strHelloWorld = "Hello World!";
        }

        void writeHelloWorld()
        {
            Console.WriteLine(strHelloWorld);
        }

        static void Main(string[] args)
        {
            HelloWorld hw = new HelloWorld();
            hw.writeHelloWorld();
        }
    }
}

9. Xử lý ngoại lệ (Exception Handing)

using System;

namespace Hello_World
{
    class HelloWorld
    {
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine(args[0]);
            }
            catch (IndexOutOfRangeException e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }
}

10.  Tạo một file .dll và sử dụng nó trong một ứng dụng khác.

-  Tạo project class library

using System;

namespace HelloLibrary
{
    class HelloMessage
    {
        public string message
        {
            get
            {
                return "Hello World!";
            }
        }
    }
}

-  Sử dụng File .dll vừa được tạo ra để sử dụng cho chương trình mới.

using System;
using HelloLibrary;

namespace Hello_World
{
    class HelloWorld
    {
        static void Main(string[] args)
        {
            HelloMessage m = new HelloMessage();
        }
    }
}

11. Sử dụng Property

using System;

namespace Hello_World
{
    class HelloWorld
    {
        public string strHelloWorld
        {
            get
            {
                return "Hello World!";
            }
        }

        static void Main(string[] args)
        {
            HelloWorld hw = new HelloWorld();
            Console.WriteLine(hw.strHelloWorld);
        }
    }
}

12. Sử dụng Deligates

using System;

namespace Hello_World
{
    class HelloWorld
    {
        public static void writeHelloWorld()
        {
            Console.WriteLine("Hello World!");
        }

        public delegate void SimpleDeligate();
        static void Main(string[] args)
        {
            SimpleDeligate d = new SimpleDeligate(writeHelloWorld);
            d();
        }
    }
}

13. Sử dụng Attributes

#define DEBUGGING

using System;
using System.Diagnostics;

namespace Hello_World
{
    class HelloWorld : Attribute
    {
        [Conditional("DEBUGGING")]
        public void writeHelloWorld()
        {
            Console.WriteLine("Hello World!");
        }          

        static void Main(string[] args)
        {
            HelloWorld hw = new HelloWorld();
            hw.writeHelloWorld();
        }
    }
}

14. Sử dụng Interfaces

using System;

namespace Hello_World
{
    interface IHelloWorld
    {
        void writeHelloWorld();
    }

    class HelloWorld:IHelloWorld
    {
        public void writeHelloWorld()
        {
            Console.WriteLine("Hello World!");
        }          

        static void Main(string[] args)
        {
            HelloWorld hw = new HelloWorld();
            hw.writeHelloWorld();
        }
    }
}

15. Dynamic Hello World

using System;
using System.Reflection;

namespace Hello_World
{

    public class HelloWorld
    {
        public string writeHelloWorld()
        {
            return "HelloWorld";
        }

        public static void Main(string[] args)
        {
            Type hw = Type.GetType(args[0]);

            // Instantiating a class dynamically

            object[] nctorParams = new object[] { };
            object nobj = Activator.CreateInstance(hw,
                     nctorParams);

            // Invoking a method

            object[] nmthdParams = new object[] { };
            string strHelloWorld = (string)hw.InvokeMember(
                    "writeHelloWorld", BindingFlags.Default |
                    BindingFlags.InvokeMethod, null,
                    nobj, nmthdParams);

            Console.WriteLine(strHelloWorld);
        }
    }
}

16. Unsafe Hello World

using System;
using System.Reflection;

namespace Hello_World
{
    public class HelloWorld
    {
        unsafe public void writeHelloWorld(char[] chrArray)
        {
            fixed (char* parr = chrArray)
            {
                char* pch = parr;
                for (int i = 0; i < chrArray.Length; i++)
                    Console.Write(*(pch + i));
            }
        }

        public static void Main()
        {
            HelloWorld hw = new HelloWorld();
            char[] chrHelloWorld = new char[] { 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' };
            hw.writeHelloWorld(chrHelloWorld);
        }
    }
}

17.  Sử dụng InteropServices

using System;
using System.Runtime.InteropServices;

namespace Hello_World
{
    public class HelloWorld
    {
        [DllImport("kernel32")]
        private static extern int Beep(int dwFreq, int dwDuration);

        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
            Beep(1000, 2000);
        }
    }
}

18. Kết luận:

Có rất nhiều cách để viết một chương trình máy tính. Tùy vào khả năng sáng tạo của một người mà ta sẽ viết một chương trình với những cách khác nhau. Nhưng trong thực tế, cách viết nào nhanh và đem lại hiệu quả cao sẽ được sử dụng.

Nguồn: http://thanhcuong.wordpress.com

 

Thẻ: , ,

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

 
%d bloggers like this: