C#速成(之一) (轉)
在一些術語上我儘量做到與MSDN的中文資料所述術語保持一致
標題:速成(Quick C#)
--------------------------------------------------------------------------------
供稿 by Aisha Ikram.
使用環境:, C#, , Win 2000
緒論
C#是這樣的一種語言,具有C++的特點,象一樣的風格, 並且象Basic一樣的開發模型。如果你已經知道了C++,本文會在不到一個小時的時間內讓你迅速掌握C#的語法。熟悉Java的括會更好,因為Java的結構、打包(Packages)和垃圾收集的概念有助於你更快的瞭解C#。因此在討論C#的構造時,我會假定你瞭解C++。
本文會討論C#語言的構造與特點,同時會採取簡潔的和你能理解的方式使用些程式碼示例,我們會盡量讓你能稍微看看這些程式碼就能理解這些概念。
注意:本文不是為C#高手(C# gurus)所寫. 這是針對在C#學習上還是初學者的文章。
下面是將要討論的C#問題的目錄:
程式結構
名稱空間
資料型別
變數
運算子和
列舉
語句(Statements )
類(Classes)和結構(Structs)
修飾符(Modifiers)
屬性(Properties)
介面(Interfaces)
方法引數(Function Parameters)
陣列(Arrays)
器(Indexers)
裝箱及拆箱操作
委託(Delegates)
繼承和多型
下面的內容將不會在被討論之列:
C++與C#誰更通用
諸如垃圾回收、執行緒以及處理等概念
資料的型別轉換
異常處理
.NET庫
-------------------
程式結構
-------------------
這一點象C++,C#是一種對大小寫字母敏感的語言,分號“;”是語句間的分隔符。與C++不同的是,C#當中宣告程式碼檔案(標頭檔案)與實現程式碼檔案(cpp檔案)不是獨立存在的,所有程式碼(類宣告和類實現)都位於一個副檔名為cs的檔案內。
讓我們瞧瞧C#當中的 Hello world 程式是怎樣的。
using System;
namespace MyNameSpace
{
class HelloWorld
{
static void Main(string[] args)
{
Console.WriteLine ("Hello World");
}
}}
在C#當中的每樣東西都被封裝到一個類中,C#的類又被封裝到一個名稱空間當中(就象一個資料夾中的檔案)。類似於 C++,main方法是你的程式的入口點。C++的main名稱是"main",而C#的main函式是以大寫字母M為起點的名稱是"Main"。
沒有必要把分號分隔符放在類語句塊或者結構定義語句塊後。這在C++當中被要求,但在C#當中卻不是。
-------------------
名稱空間
-------------------
每一個類都被包裝進一個名稱空間。名稱空間的概念與C++的完全相同,但在C#當中使用名稱空間的頻率較C++還高。你可以使用點限定符(dot qulifier)訪問一個類。在上面的hello world程式當中MyNameSpace就是一個名稱空間。
現在思考這樣的一個問題,你想從某些別的類的名稱空間當中來訪問HelloWorld這個類該如何操作。
這有一個例子:
using System;
namespace AnotherNameSpace
{
class AnotherClass
{
public void Func()
{
Console.WriteLine ("Hello World");
}
}
}
現在,從你的HelloWorld類裡你能象這樣去訪問上面的這個AnotherNameSpace的名稱空間:
using System;
using AnotherNameSpace; // you will add this using statement
namespace MyNameSpace
{
class HelloWorld
{
static void Main(string[] args)
{
AnotherClass obj = new AnotherClass();
obj.Func();
}
}
}
在.NET庫當中,System是位於頂層的名稱空間,別的名稱空間都存在這個名稱空間之下。預設狀態下,存在一個全域性的名稱空間,因此一個在名稱空間外定義的類將直接在這個全域性名稱空間之下;因此,你能在沒有任何點限定符的情況下訪問這個類。
你也可以象下面這樣定義巢狀的名稱空間。
Using
C++當中的"#include"指示被C#的"using"關鍵字取代,它後面跟著一個名稱空間的名字。正如上面的"using System"。"System"是別的所有被封裝的名稱空間和類中最底層的名稱空間。所有的基類都是System名稱空間內的類派生的。
-------------------
變數
-------------------
除以下並別外,C#當中的變數幾乎與C++同:
與C++不同,C#變數被訪問之前必須被初始化;否則編譯時會報錯。因此,訪問一個未初始化變數是不可能的事。
C#中你不會訪問到一個不確定的指標。(譯者注:嚴格說起來C#已經把指標概念異化,限制更嚴格。所以有些資料上會說C#取消了指標概念)
一個超出陣列邊界的表示式是不可訪問的。
C#中沒有全域性的的變數或全域性函式,全域性方式的操作是透過靜態函式和靜態變數來實現的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-984531/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#速成(之二) (轉)C#
- C#速成(之三) (轉)C#
- C#速成(之四) (轉)C#
- C#速成(之五)全文完 (轉)C#
- (X)Emacs 速成(轉)Mac
- 轉:SAP專案管理系統速成專案管理
- access 轉 sql 之一SQL
- C#程式設計利器之一:類(Class)C#程式設計
- python速成Python
- USB開發速成-我最真實的經驗!(轉)
- RxJS速成 (上)JS
- RxJS速成 (下)JS
- 探索c#之一致性Hash詳解C#
- 記憶體管理之一 (轉)記憶體
- HTML元件庫(之一:splitter) (轉)HTML元件
- Swift速成:捕獲列表Swift
- Windows 到 Linux 之旅:第 2 部分. 控制檯速成班(轉)WindowsLinux
- Beginner with C# (轉)C#
- WHAT IS C# (轉)C#
- OpenGL系列教程之一:OpenGL(轉)
- Linux程式設計之一(轉)Linux程式設計
- CTI的典型應用之一 (轉)
- 維修電腦知識之一 (轉)
- SQL 語法速成手冊SQL
- [譯] 密碼學速成課密碼學
- 視覺化速成指南-大小視覺化
- iOS 6 Objective-C 速成iOSObject
- STL的學習筆記之一 (轉)筆記
- CCNA學習心得之一(推薦)(轉)
- C#:Dictionary轉DataTableC#
- 可怕的 C# (轉)C#
- Beginner with c# 5 (轉)C#
- Beginner with c# 6 (轉)C#
- Beginner with c# 2 (轉)C#
- Beginner with c# 3 (轉)C#
- Beginner with c# 4 (轉)C#
- Beginner with c# 7 (轉)C#
- C#聊天程式 (轉)C#