我的第一个C#程序
程序员文章站
2022-03-10 23:17:44
...
我得老实承认,我很早就想好好学习下C#,学习下ASP.NET。因为我听说ASP.NET的开发速度很让人羡慕,听说C#也是蛮有趣的语言。装了.net Framework2.0,下了C#的语言规范(本来想找本书,发现网上的电子书都做的很糟糕,还是看语言规范得了),写第一个Hello World。
存为hello.cs。配置好环境变量,在命令行运行:csc hello.cs。在目录下会生成一个hello.exe,直接运行hello。打印:
看起来跟java确实没什么不同,除了字母的大小写,和java默认引入java.lang包,而这里需要using System;
稍微复杂点的例子,我们写一个库文件stack.dll,或者说一个程序集(java中包的概念):
代码很明显,一个简单的栈结构,我们把Stack类放在命名空间Acme.Collections中。运行:csc /t:library stack.cs,在应用目录下生成一个stack.dll。我们怎么调用这个链接库呢?写个测试类:
很明显,只是把java的import换成了using,而且不需要通配符。编译test.cs:csc /r:stack.dll test.cs。
C#和ruby将是我07年主要的学习计划,另外就是J2EE深入技术方面的掌握和理解,特别是模式、工作流和Portal方面。
<!---->using System;
public class HelloWorld
{
public static void Main()
{
Console.WriteLine("Hello World");
}
}
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;
}
}
}
}
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());
}
}
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方面。
上一篇: C#实现二叉查找树
下一篇: Spring 3.0将全面支持REST
推荐阅读
-
在C#中根据HardwareID获取驱动程序信息的实现代码
-
[C#小程序]命令行小程序之小九九乘法表的实现代码
-
在一个php中,我定义了两个表单,当第一个表单提交后,生成了第二个表单,提交第二个表单后,就取不到第一个表单的数据了,该怎么办?
-
以此贴来庆祝小弟我在别人网页偷取到的第一个数据!
-
C#中调用Windows系统服务exe程序的工具类与重启服务的流程
-
微信小程序订阅消息,我踩过的坑都在这里了!
-
C#中异步编程4async与await异步程序开发的实例分析
-
我的第一个PHP程序
-
哪个朋友帮小弟我修改一上SWFUPLOAD下传获取文件路径的程序,高分相送
-
我的第一个python web开发框架(31)——定制ORM(八)