17种Hello World!

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

时间: 2024-11-08 18:44:30

17种Hello World!的相关文章

17种Mac常见问题的解决方法

Mac是非常可靠稳定的电脑,但这并不意味着它们就不会出错,不会坏,不会犯傻.我们总结出了一些Mac的"啊哦"的镜头,并告诉你如何对付它们并防止再次发生. 没有电脑是永远不会出问题的.即使是Mac也有犯脾气的时候,突然的不好好工作了,从一个乖宝宝变成了一个大魔头. 如果说,PC有时候很固执任性的话,那么Mac就有些难搞定了.通常情况下它们只在及其恶略的生存条件下才会起义--比如说你给MacBook喝了一点果汁什么的.就像人一样,Mac工作时间长了,也需要一点时间休息. 不管Mac出了什么

苹果mac电脑17种常见问题的解决方法

随着时代的发展,苹果mac以它美观的外表以及系统的稳定抓住越来越多用户的心. Mac是非常可靠稳定的电脑,但这并不意味着它们就不会出错,不会坏,不会犯傻.我们总结出了一些Mac的"啊哦"的镜头,并告诉你如何对付它们并防止再次发生. 没有电脑是永远不会出问题的.即使是Mac也有犯脾气的时候,突然的不好好工作了,从一个乖宝宝变成了一个大魔头. 如果说,PC有时候很固执任性的话,那么Mac就有些难搞定了.通常情况下它们只在及其恶略的生存条件下才会起义--比如说你给MacBook喝了一点果汁什

PostgreSQL里的17种文本相似算法与GIN索引 - pg_similarity

标签 PostgreSQL , 文本相似 , pg_similarity , pg_trgm , rum , fuzzymatch gin , smlar 背景 文本相似算法,结合PostgreSQL的开放索引框架GIN,可以实现各种相似算法的文本高效检索. PostgreSQL中常见的文本相似搜索插件:rum, pg_trgm, fuzzymatch, pg_similarity, smlar. 其中pg_similarity支持的算法达到了17种. Introduction pg_simil

收集整理ASP.NET中17种常用正则表达式_正则表达式

"^/d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-/d+)(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?/d+$" //整数 "^/d+(/./d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+/.[0-9]*[1-9][0-9

中行北京地区可兑换17种外币

中国银行新闻发言人王兆文昨日表示,中行在北京地区可兑换的外币现钞种类达17种,可提供外汇兑换.旅行支票出售和兑换.外卡取现.国际汇款.托收等外币业务. 据介绍,中行在北京地区可兑换以下17种外币现钞:美元.英镑.瑞士法郎.新加坡元.瑞典克朗.丹麦克朗.挪威克朗.日元.加拿大元.澳大利亚元.欧元.泰铢.韩元.菲律宾比索,以及港元.澳门元.新台币. 目前,北京市有380家代兑机构,与中行签约的代兑点为242家:在奥运119家签约酒店中,中行的签约代兑机构为78家.

百会云邮箱:17种语言服务的划界领跑者

作为面向全球运营的"下一代企业邮箱"领跑者,百会云邮箱的"语言天赋"毋庸置疑.而升级后的百会云邮箱,在语言支持功能上更是华丽变身,17种语言的服务功能助其顺利成为新一代邮箱界翘楚. 百会云邮箱是满足现代企业核心需求的新一代企业级托管邮箱服务.它区别于一般的邮箱系统,除了为企业用户提供日常电子邮件收发功能外,还提供日历协同.任务管理.工作便签.联系人通讯录等共享协作的应用.让广大企业用户无需投入高昂的服务器.软件和维护成本即可体验快速的邮件收发,高效的协同办公和随时随

立顿茶包被指含禁用农药:4份样品检出17种农残

"'立顿'绿茶.茉莉花茶和铁观音样本均含有农业部明令禁止在茶树上使用的高毒农药灭多威."昨日上午10点,国际环保组织绿色和平发布调查报告指出:立顿的多款茶包被检测出农残,其中一些是国家明令禁止使用的品种,一些农药还被证明可能影响男性生育能力和胎儿健康. 立顿茶生产商联合利华(中国)有限公司1小时之内在其官方微博上发出声明回应:立顿茶系列饮品完全符合中国国家标准中关于农药残留的规定.对于禁用农药问题,联合利华北亚区副总裁曾锡文表示,"禁用"不等同于"零检出&

立顿茶包检出高毒农药4份样品共含17种农药残留

今天,全球销量最大的茶叶品牌"立顿"被指其绿茶.茉莉花茶和铁观音袋泡茶,均含有被国家禁止在茶叶上使用的高毒农药灭多威. 一国际环保组织于2012年3月在北京随机购买了4份"立顿"牌袋泡茶,品种分别为红茶.绿茶.茉莉花茶和铁观音.这些样本随后被送往具有国家资质的.独立的第三方实验室进行农药残留检测. 检测结果显示:"立顿"绿茶.茉莉花茶和铁观音样本均含有农业部明令禁止在茶树上使用的高毒农药灭多威.其中,"立顿"铁观音被发现含有早

立顿茶包检出高毒农药&nbsp;4样品含17种农药残留

相关新闻:网民惊呼"喝茶也中招"联合利华回应:符合国标相关新闻:立顿被曝检出禁用农药联合利华:原料百分百进口相关新闻:立顿茶包检出禁用高毒农药影响男性能力和胎儿健康相关新闻:曝立顿茶包含毒引担忧联合利华:完全符合国家标准今天,全球销量最大的茶叶品牌"立顿"被指其绿茶.茉莉花茶和铁观音袋泡茶,均含有被国家禁止在茶叶上使用的高毒农药灭多威.一国际环保组织于2012年3月在北京随机购买了4份"立顿"牌袋泡茶,品种分别为红茶.绿茶.茉莉花茶和铁观音.这些

收集整理ASP.NET中17种常用正则表达式

"^/d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-/d+)(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?/d+$" //整数 "^/d+(/./d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+/.[0-9]*[1-9][0-9