C#-using与添加引用的关系
添加引用是using的必備條件?
只有添加了對程序集的引用,此程序集內的命名空間才能被using
項目添加引用的目的是引入程序集??
程序集的概念是什么???
程序集是一個 DLL,這是調用其中類的必備條件??
一個程序集包括一個或多個命名空間??
舉例來說??
命名空間?System.Data?來自文件System.Data.DLL?
命名空間System.Data.SqlClient
同樣來自System.Data.DLL?
那么意味著你一旦添加了 System.Data 程序集 文件的引用(無論你是從 GAC 添加還是直接添加的 DLL 到項目)??
你就可以使用 System.Data 和 System.Data.SqlClient 下的各種類?
為什么要 using 呢???
簡單地說,你甚至可以不用寫一個 using,凡是需要用到類型的地方用完全限定名。?
什么是完全限定名???
比如數據集類 DataSet:System.Data.DataSet 就是它的完全限定名。??
比如數據庫連接類 SqlConnection:System.Data.SqlClient.SqlConnection 就是它的完全限定名。?
用了 using 的好處在于:你不必處處寫完全限定名,這樣會使代碼看起來過于冗長。??
說到這里,using 的作用明白了嗎?其實就是起到了簡寫的作用。??
真正的引用工作是一開始做的,using 只是為了使你的后續編碼工作簡單而易。?
至于你提到的需要 using 才能用,??
說到底就是因為你正在使用的類寫了不完整的類名稱(即非完全限定名),??
系統不知道這個類來自哪里,??
系統會在所有的 using 下去找到這個類的出處,??
如果沒有 using,自然找不到。?
最后舉個例:?
你需要定義一個數據集,?
方法一??
using System.Data;??
然后??
DataSet mySet = new DataSet();?
方法二:??
沒有 using??
直接??
System.Data.DataSet mySet = new System.Data.DataSet();?
當然,兩種方法都要求你對項目添加了對 System.Data 的引用??
從實現上,這兩種方式都是可行的,但是你是否覺得第一種更簡潔?
自己實踐一下!
1.system.io屬于system下面的一個模塊,所以引用中只有system,而沒有單獨的system.io
2.程序自動添加的引用是在.net框架的安裝目錄下調用的dll,所以程序集在安裝了對應版本.net才能正常使用!
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1
總結
以上是生活随笔為你收集整理的C#-using与添加引用的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过Dapr实现一个简单的基于.net的
- 下一篇: 程序员过关斩将--错误的IOC和DI