不一样的入门:看C# Hello World的17种写法

http://developer.51cto.com/art/200908/145356.htm


C# Hello World写法入门:

1. 初学者

public class HelloWorld
{
public static void Main()
{
System.Console.WriteLine("HELLO WORLD");
}
}

2. 改进的HELLO WORLD

using System;

public class HelloWorld
{
public static void Main()
{
Console.WriteLine("HELLO WORLD");
}
}

3. 命令行形式

using System;

public class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine(args[0]);
}
}

4. 构造函数

using System;
public class HelloWorld
{
public HelloWorld()
{
Console.WriteLine("HELLO WORLD");
}

public static void Main()
{
HelloWorld hw = new HelloWorld();
}
}


C# Hello World写法进阶:

5. 面向对象

using System;
public class HelloWorld
{
public void helloWorld()
{
Console.WriteLine("HELLO WORLD");
}

public static void Main()
{
HelloWorld hw = new HelloWorld();
hw.HelloWorld();
}
}

6. 从其他类

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. 继承

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. 静态构造函数

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. 异常处理

using System;

public class HelloWorld
{
public static void Main(string[] args)
{
try
{
Console.WriteLine(args[0]);
}
catch(IndexOutOfRangeException e)
{
Console.WriteLine(e.ToString());
}
}
}

10. 名字空间

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 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 System;
class HelloWorld
{
static void writeHelloWorld() {
Console.WriteLine("HelloWorld");
}
static void Main() {
SimpleDelegate d = new SimpleDelegate(writeHelloWorld);
d();
}
}

13. 使用属性

#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 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();
}
}

C# Hello World的特别写法:

15. 动态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);//, 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. 不安全代码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);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值