17种"Hello World"!

    技术2022-05-11  46

    使用C#编写不同的“Hello World”程序

    1. A Beginners Hello World

    public class HelloWorld { public static void Main() { System.Console.WriteLine("HELLO WORLD"); } }

    2. Slightly improved version

    using System; public class HelloWorld { public static void Main() { Console.WriteLine("HELLO WORLD"); } }

    3. Command Line Arguments

    using System; public class HelloWorld { public static void Main(string[] args) { Console.WriteLine(args[0]); } }

    4. From Constructor

    using System; public class HelloWorld { public HelloWorld() { Console.WriteLine("HELLO WORLD"); } public static void Main() { HelloWorld hw = new HelloWorld(); } }

    5. More OO

    using System; public class HelloWorld { public void helloWorld() { Console.WriteLine("HELLO WORLD"); } public static void Main() { HelloWorld hw = new HelloWorld(); hw.HelloWorld(); } }

    6. From another class

    using System; public class HelloWorld { public static void Main() { HelloWorldHelperClass hwh = new HelloWorldHelperClass(); hwh.writeHelloWorld(); } } public class HelloWorldHelperClass { public void writeHelloWorld() { Console.WriteLine("Hello World"); } }

    7. Inheritance

    abstract class HelloWorldBase { public abstract void writeHelloWorld(); } class HelloWorld : HelloWorldBase { public override void writeHelloWorld() { Console.WriteLine("Hello World"); } } class HelloWorldImp { static void Main() { HelloWorldBase hwb = HelloWorld; HelloWorldBase.writeHelloWorld(); } }

    8. Static Constructor

    using System; public class HelloWorld { private static string strHelloWorld; static HelloWorld() { strHelloWorld = "Hello World"; } void writeHelloWorld() { Console.WriteLine(strHelloWorld); } public static void Main() { HelloWorld hw = new HelloWorld(); hw.writeHelloWorld(); } }

    9. Exception Handling

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

    10. Creating a DLL and using it in an application

    using System; namespace HelloLibrary { public class HelloMessage { public string Message { get { return "Hello, World!!!"; } } } } //------ using System; using HelloLibrary; namespace HelloApplication { class HelloApp { public static void Main(string[] args) { HelloMessage m = new HelloMessage(); } } }

    11. Using Property

    using System; public class HelloWorld { public string strHelloWorld { get { return "Hello World"; } } public static void Main() { HelloWorld hw = new HelloWorld(); Console.WriteLine(cs.strHelloWorld); } }

    12. Using Delegates

    using System; class HelloWorld { static void writeHelloWorld() { Console.WriteLine("HelloWorld"); } static void Main() { SimpleDelegate d = new SimpleDelegate(writeHelloWorld); d(); } }

    13. Using Attributes

    #define DEBUGGING using System; using System.Diagnostics; public class HelloWorld : Attribute { [Conditional("DEBUGGING")] public void writeHelloWorld() { Console.WriteLine("Hello World"); } public static void Main() { HelloWorld hw = new HelloWorld(); hw.writeHelloWorld(); } }

    14. Using Interfaces

    using System; interface IHelloWorld { void writeHelloWorld(); } public class HelloWorld : IHelloWorld { public void writeHelloWorld() { Console.WriteLine("Hello World"); } public static void Main() { HelloWorld hw = new HelloWorld(); hw.writeHelloWorld(); } }

    15. Dynamic Hello World

    using System; using System.Reflection; namespace HelloWorldNS { 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; 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. Using InteropServices

    using System; using System.Runtime.InteropServices; class Class1 { [DllImport("kernel32")] private static extern int Beep(int dwFreq, int dwDuration); static void Main(string[] args) { Console.WriteLine("Hello World"); Beep(1000, 2000); } }

    最新回复(0)