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

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

本文主要講

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

C# 常見名稱空間

名稱空間 作用
System

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

System.Collections

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

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

System.Collections.Generic 
System.Data

用於資料庫處理

例如 ADO.NET

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.Web

構建.NET Web應用程式,用於支援ASP.NET

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 指令指定一種型別,無需指定型別名稱即可訪問其 靜態成員和巢狀型別

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指令為名稱空間或型別取一個別名,別名將在檔案全範圍起替代作用。

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

使用方法

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
    static void Main()
  • 沒有引數  返回值為 int
    static int Main()
  • 帶有引數  返回值為 void
    static void Main(string[] args)
  • 帶有引數  返回值為 int
    static int Main(string[] args)
    

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

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

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