閱讀885 返回首頁    go 阿裏雲 go 技術社區[雲棲]


我的第一個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 == nullthrow 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

最後更新:2017-05-17 11:04:50

  上一篇:go  又到買書時
  下一篇:go  數據科學家需要了解的45個回歸問題測試題(附答案)