1. 程式人生 > >C# 方法與引數 常見名稱空間彙總 using的使用 main方法引數 本文主要講

C# 方法與引數 常見名稱空間彙總 using的使用 main方法引數 本文主要講

本文主要講

C# 常見名稱空間
using static 指令 && 呼叫靜態方法
巢狀名稱空間&&作用域
別名
Main() 方法
C# 常見名稱空間

名稱空間 作用
System
建立檔案是預設引入,處理數學計算、、環境變數、輸出控制檯、垃圾回收器及一些常見的異常和特徵。

System.Collections
同:都是處理物件集合(列表和字典等)

異:後者是使用 泛型的強型別集合

System.Collections.Generic
System.Data
用於資料庫處理

System.Data.Odbc

System.Data.Oracle

Client System.Data.OleDb

System.Data.SqlClient

System.IO
  處理檔案輸入/輸出(I/O)

資料壓縮

埠操作

System.IO.Comoression

System.IO.Ports

System.Drawing
用於繪圖、進行影象處理

System.Windows.Froms 包含構建使用者介面和各類控制元件的型別
System.Windows
WPF UI工具包

System.Windows.Controlls
System.Windows.Shapes
System.Linq
提供LINQ 功能(語言整合查詢)

System.ServiceModel
通過WCF API構建分散式應用程式

System.Workflow.Runtime
使用WCF API構建支援工作流的應用程式的型別

System.Workflow.Activities
System.Threading
用來構建多執行緒應用程式的型別

System.Threading.Tasks
基於任務的非同步操作

System.Security
以安全為中心的名稱空間,有很多用來處理許可權、加密等問題的型別

System.Xml
用於XML資料互動的型別

注:在C#中,引入一個名稱空間時,是不能使用該名稱空間的子空間。

例如,引入了System.Collections,但是不能使用System.Collections.Generic 內的類和方法。

其它更多不同功能的、不同分類的名稱空間,推薦檢視文章

using static 指令 && 呼叫靜態方法

在C#中在不同名稱空間的類,需要先引入該名稱空間,然後new(例項化)後,才能使用。對於靜態類來說,在引入名稱空間後,即可直接使用。

複製程式碼
1 using System;
2 using System.IO;
3
4 public class Test
5 {
6 static void Main()
7 {
8 int num = Add(5, 6);
9 Console.WriteLine(num);
10 Console.ReadKey();
11 }
12 public static int Add(int x, int y)
13 {
14 return x + y;
15 }
16 }
複製程式碼
例如控制檯用於輸出字串的方法 Console.WriteLine() ,引入 System 後,即可直接使用。在上述程式碼的第 9 行。

樣式 類.方法(); Console.WriteLine()

對於跟 Main 在同一個檔案中的方法,必定是靜態方法, 直接呼叫該方法名。在上述程式碼的第8行。

樣式 方法(); 如 Add();

如果不在同一名稱空間的靜態方法,我想直接使用 方法(); 而不是 類.方法(); 這種形式呢?

這就需要使用 using static 指令。

using static 指令指定一種型別,無需指定型別名稱即可訪問其 靜態成員和巢狀型別。

1
using static System.Console;
 修改上面的示例程式碼,留意第9、10行

複製程式碼
1 using System;
2 using System.IO;
3 using static System.Console;
4 public class Test
5 {
6 static void Main()
7 {
8 int num = Add(5, 6);
9 WriteLine(num);
10 ReadKey();
11 }
12 public static int Add(int x, int y)
13 {
14 return x + y;
15 }
16 }
複製程式碼
可以直接使用 WriteLine() 了。

注:

這種方式雖然可以簡化長度,但是,也會容易出現很多問題,例如名稱衝突、可讀性降低。
using static 只針對靜態型別有效!

巢狀名稱空間&&作用域

名稱空間也有作用域,離開作用域的型別將無法使用。但名稱空間的引入,不像變數的宣告那麼“任性”。

名稱空間的引入是使用using指令,using指令可以在名稱空間外、名稱空間內的頂部並且在類的外面使用。

在名稱空間外使用的using指令作用域是 該檔案下的所有名稱空間。

在名稱空間內使用的using指令作用域是 該名稱空間內。

下面是一個例子。

複製程式碼
1 using System;
2 namespace a
3 {
4 using System.IO;
5 public class Test
6 {
7
8 static void Main()
9 {
10 Console.WriteLine(“名稱空間a”);
11 FileInfo file = new FileInfo(“檔案地址”);
12 }
13 }
14 }
15 namespace b
16 {
17 public class Test
18 {
19 static void Main()
20 {
21 Console.WriteLine(“名稱空間b”);
22 FileInfo file = new FileInfo(“檔案地址”);    //報錯
23 }
24 }
25 }
複製程式碼

第一行 using System; 名稱空間 a、b 都能使用,然而 只在名稱空間中 a 中 using System.IO; (在第四行) ,名稱空間 b 是不能使用的。

注:

很少會這樣寫程式碼,因為根據約定,每個檔案只應該有一個型別宣告、在頭部引入名稱空間。

別名

C# 中,可以使用using指令為名稱空間或型別取一個別名,別名將在檔案全範圍起替代作用。

最常見用途為消除兩個同名型別的歧義和縮寫名稱。

使用方法

1
using 別名 = 名稱空間或型別;
  例(第二行):

複製程式碼
1 using System;
2 using Test1 = System.Console;
3 namespace core
4 {
5 class Program
6 {
7 static void Main(string[] args)
8 {
9 Test1.WriteLine(“測試”);
10 }
11 }
12 }
複製程式碼

Main 方法

Main 方法是程式入口,一般有以下四中寫法:

沒有引數 返回值為 void
1
static void Main()
沒有引數 返回值為 int
1
static int Main()
帶有引數 返回值為 void
1
static void Main(string[] args)
帶有引數 返回值為 int
1
static int Main(string[] args)

寫法的考慮是在執行程式是提供命令列引數,並在Main方法中返回狀態識別符號。

使用visual studio 軟體開發C#,一般用不到,使用控制檯應用手動編譯 原始碼時,提供的引數會傳入Mian方法中。

C#程式中可以出現多個 Main() 方法,但必須在執行時,確定或指定入口 Main 。