CSDN博客

img yangpengz

使用C#编写不同的"Hello World"程序(转)

发表于2004/9/25 9:51:00  367人阅读

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 0

相关文章推荐

img
取 消
img