我的第一个C#程序

    我得老实承认,我很早就想好好学习下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方面。


你可能感兴趣的:(C++,c,C#,asp.net,asp)