职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1202|回复: 0

使用 C# 编写不同的“Hello World”程序

[复制链接]
weisheng 发表于 2006-12-22 23:42 | 显示全部楼层 |阅读模式
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);
  }
}
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-12 05:12 , Processed in 0.127638 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表