下面是通過代碼快速學習C#的例子。
1.學習任何語言都必定會學到的hello,world!
Main(
2.原始的C#編譯器(你可以使用下面的命令行編譯C#)
C:>csc HelloWorld.cs
你將得到:
HelloWorld
詳情可參見: http://sourceforge.net/projects/nant
3.讀取文件
A:讀取整個文件到字符串
Main( contents = System.IO.File.ReadAllText( +
B:從一個文件中讀取所有行到數組中
Main([] lines = System.IO.File.ReadAllLines( +
C:逐行讀取文件不檢查錯誤(對於大文件很有作用)
StreamReader sr = StreamReader(((line= sr.ReadLine()) != + (sr != )sr.Close();
4.寫文件
A:簡單寫入所有文本(文件不存在將創建,存在將重寫,最終關閉文件)
Main( myText = + Environment.NewLine + +
B:使用Streams將一行文字寫入文件
= FileStream(= (sw !=
C:使用using訪問文件(當block完整時using隱式調用Dispose(),這也會關閉文件,下面的代碼請仔細參悟。)
( i = ; i < ; i++ (TextWriter w = File.CreateText( + i + msg = DateTime.Now + +
D:"using" as "typedef" (a la "C")
RowCollection = List<Node>;
E:寫一個簡單的XML片段的艱難方法
writeTree(XmlNode xmlElement, = ( i=;i<level;i+++= =(XmlAttribute x =++(XmlNode x (x.NodeType == (x.NodeType ==
F:寫一個簡單XML片段的簡單方法
StringWriter stringWriter = = =
G:寫入XML的對象或者集合必須有一個默認的構造函數
SerializeToXmlString(= = =
H:並且它也要能使XML轉換成對象
DeSerializeFromXmlString(System.Type typeToDeserialize, [] bytes == = textRepository = ObjectFactory.GetInstance<ITextRepository><BrandAndCode> brandAndCodeList = xml = brandAndCodeList2 = DeSerializeFromXmlString(
I:關於類型的幾句話
類型一般包括數據成員和方法成員,比如int,它就包括了一個值和一個方法ToString()。
C#中所有值都是類型的實例。
C#提供了內置的,或預定義的,直接的語言,被編譯器理解,並為他們劃出關鍵詞。這些值的類型包括SBYTE,短整型,長字節,USHORT(無符號短整型),UINT(無符號整型),ULONG(無符號長整型),浮點數,雙精度浮點數胡,小數,布爾和char(字符型)。預定義的引用類型是字符串和對象。這些類型分為不同的類型在“系統”命名空間中也有別名,如整型int被重命名為System.Int32 。
C#在系統的命名空間中還提供了內置的類型如DateTime類型,當然編譯器並不能直接知道這些類型。
所有C#類型均在下面幾種分類之一:
值類型(大多數內置類型如int、double和自定義struct、沒有方法只為一個值得enum類型)
引用類型(任何類,數組等)
泛型類型參數,指針類型
使用類自定義的類型
J:Write formated output:
k = ,k); Console.WriteLine(,k); Console.WriteLine(,); Console.WriteLine(,); Console.WriteLine(,k); Console.WriteLine(,k); Console.WriteLine( .ToString());
K:命名空間(命名空間的作用是為了減少混亂)
Monkeys = MyZoo { Monkeys.Howler; }
L:使用String.Format()把decimals 變成strings
s.Append(String.Format(,*completes/count));
或者使用ToString()方法在 double 對象上:
s.Append(myDouble.ToString()
又或者
String.Format(,.OnTrack)
M:格式化DateTime對象
DateTime.Now.ToString();
5.構造函數,靜態構造函數和析構函數的示例:
Test2() { i = ~Test2() { Console.Out.WriteLine( Main(
運行:
inside ==