• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

17种Hello World!

发布: 2007-7-01 11:09 | 作者: admin | 来源: | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网

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

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网