我得老实承认,我很早就想好好学习下C#,学习下ASP.NET。因为我听说ASP.NET的开发速度很让人羡慕,听说C#也是蛮有趣的语言。装了.net Framework2.0,下了C#的语言规范(本来想找本书,发现网上的电子书都做的很糟糕,还是看语言规范得了),写第一个Hello World。
using
System;
public
class
HelloWorld {
public
static
void
Main() { Console.WriteLine(
"
Hello World
"
); } }
存为hello.cs。配置好环境变量,在命令行运行:csc hello.cs。在目录下会生成一个hello.exe,直接运行hello。打印:
Hello World
看起来跟java确实没什么不同,除了字母的大小写,和java默认引入java.lang包,而这里需要using System;
稍微复杂点的例子,我们写一个库文件stack.dll,或者说一个程序集(java中包的概念):
using
System;
namespace
Acme.Collections {
public
class
Stack { Entry top;
public
void
push(
object
data) { top
=
new
Entry(top, data); }
public
object
pop() {
if
(top
==
null
)
throw
new
InvalidOperationException();
object
result
=
top.data; top
=
top.next;
return
result; }
public
Stack() {
}
class
Entry {
public
Entry next;
public
object
data;
public
Entry(Entry next,
object
data) {
this
.next
=
next;
this
.data
=
data; } } } }
代码很明显,一个简单的栈结构,我们把Stack类放在命名空间
Acme.Collections中。运行:csc /t:library stack.cs,在应用目录下生成一个stack.dll。我们怎么调用这个链接库呢?写个测试类:
using
System;
using
Acme.Collections;
public
class
Test {
public
static
void
Main() { Stack stack
=
new
Stack(); stack.push(
1
); stack.push(
10
); stack.push(
100
); Console.WriteLine(stack.pop()); Console.WriteLine(stack.pop()); Console.WriteLine(stack.pop()); } }
很明显,只是把java的import换成了using,而且不需要通配符。编译test.cs:csc /r:stack.dll test.cs。 C#和ruby将是我07年主要的学习计划,另外就是J2EE深入技术方面的掌握和理解,特别是模式、工作流和Portal方面。
文章转自庄周梦蝶 ,原文发布时间5.17