使用C#编写17种Hello World程序
2005-03-05 16:02
811 查看
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); } }
相关文章推荐
- C# 使用17方法编写Hello World程序(语法深度)
- 使用C#编写简单的图形化的可发送附件的邮件客户端程序
- 编写高质量代码改善C#程序的157个建议——建议53:必要时应将不再使用的对象引用赋值为null
- 编写高质量代码改善C#程序的157个建议——建议60:重新引发异常时使用Inner Exception
- 使用C#编写的一个定时关机程序
- 使用C#编写的一个定时关机程序
- 编写高质量代码改善C#程序的157个建议——建议134:有条件地使用前缀
- 编写高质量代码改善C#程序的157个建议——建议140:使用默认的访问修饰符
- 编写高质量代码改善C#程序的157个建议——建议149:使用表驱动法避免过长的if和switch分支
- 使用记事本编写C#程序并编译
- C#使用UDP Client编写聊天程序
- 使用Eclipse编写第一个“Hello World!”程序
- 如何利用C#编写网页投票器程序 如何使用代理来投票 代理IP来投票
- 九、C#编程实战演习ABC 1、使用Visual Studio .NET编写C#程序
- 编写高质量代码改善C#程序的157个建议——建议26:使用匿名类型存储LINQ查询结果
- 编写高质量代码改善C#程序的157个建议[用抛异常替代返回错误、不要在不恰当的场合下引发异常、重新引发异常时使用inner Exception]
- 编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]
- 【Help】使用C C++或者C#语言编写:人民币小写转换成大写的程序!谢谢。。。
- 编写高质量代码改善C#程序的157个建议——建议124:考虑在命名空间中使用复数