17种"Hello World"!

类别:.NET开发 点击:0 评论:0 推荐:

使用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);
  }
}

本文地址:http://com.8s8s.com/it/it45116.htm