zz用C#编写17种形式的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);
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值