Hello World的17种写法(C#)(转贴)
/******
前几天在网上看见个比较有趣的东东,发上来大家看看.
包含了C#的很多技术.
*/
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();
- }
- }
C# Hello World写法进阶:
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();
- }
- }
C# Hello World的特别写法:
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);
- }
- }