摘要:本文针对不同阶段、不同程度的C#学习者,介绍了C# Hello World的17种不同写法,希望会对大家有所帮助。(C# Hello World写法入门、C# Hello World写法进阶、C# Hello World的特别写法三种角度进行推进),本人觉得非常有趣,有兴趣的可以好好学习下。
1. 初学者
public class HelloWorld { public static void Main() { System.Console.WriteLine("HELLO WORLD"); } }
2. 改进的HELLO WORLD
using System; public class HelloWorld { public static void Main() { Console.WriteLine("HELLO WORLD"); } }
3. 命令行形式
using System; public class HelloWorld { public static void Main(string[] args) { Console.WriteLine(args[0]); } }
4. 构造函数
using System; public class HelloWorld { public HelloWorld() { Console.WriteLine("HELLO WORLD"); } public static void Main() { HelloWorld hw = new HelloWorld(); } }
5. 面向对象
using System; public class HelloWorld { public void helloWorld() { Console.WriteLine("HELLO WORLD"); } public static void Main() { HelloWorld hw = new HelloWorld(); hw.HelloWorld(); } }
6. 从其他类
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. 继承
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. 静态构造函数
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. 异常处理
using System; public class HelloWorld { public static void Main(string[] args) { try { Console.WriteLine(args[0]); } catch (IndexOutOfRangeException e) { Console.WriteLine(e.ToString()); } } }
10. 名字空间
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 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 System; class HelloWorld { static void writeHelloWorld() { Console.WriteLine("HelloWorld"); } static void Main() { SimpleDelegate d = new SimpleDelegate(writeHelloWorld); d(); } }
13. 使用属性
#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 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. 动态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);//, 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. 不安全代码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. 使用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); } }