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

hello world

     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.

For Better Life!

About thanhcuong1990

Handsome and talent!! ^^
This entry was posted in C#. Bookmark the permalink.

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

  1. Mình ko hiểu trừong hợp 13, 15. Không biết nó dùng trong các trừong hợp nào khi lập trình?

  2. nguyen hai lam says:

    Thanks you

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s