狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#基礎(chǔ):命名空間與using用法

admin
2023年11月1日 15:2 本文熱度 812

本期內(nèi)容:

1、什么是命名空間

2、命名空間的內(nèi)嵌寫(xiě)法用法

3、using關(guān)鍵字的用法

4、命名空間、類(lèi)、函數(shù)、變量之間的關(guān)系


一、什么是命名空間


    命名空間用于在最高邏輯級(jí)別組織代碼。它們對(duì)暴露給其他程序和應(yīng)用程序的編程元素進(jìn)行分類(lèi)和呈現(xiàn)。在命名空間中,我們可以聲明另一個(gè)命名空間、類(lèi)、接口、結(jié)構(gòu)、枚舉或委托。


    我們不能定義諸如屬性、變量和事件之類(lèi)的項(xiàng)目。這些項(xiàng)目必須在結(jié)構(gòu)或類(lèi)等容器中聲明。在使用諸如類(lèi)庫(kù)之類(lèi)的大型對(duì)象組時(shí),命名空間可以防止歧義并簡(jiǎn)化引用。


    我們不能定義諸如屬性、變量和事件之類(lèi)的項(xiàng)目。這些項(xiàng)目必須在結(jié)構(gòu)或類(lèi)等容器中聲明。在使用諸如類(lèi)庫(kù)之類(lèi)的大型對(duì)象組時(shí),命名空間可以防止歧義并簡(jiǎn)化引用。


注意:不能將頂級(jí)語(yǔ)句與命名空間一起使用。


    命名空間的本意是為了讓代碼結(jié)構(gòu)更清晰,也順便解決了類(lèi)重名的問(wèn)題。Java開(kāi)發(fā)中不需要命名空間是因?yàn)閖ava類(lèi)是靠包名來(lái)區(qū)分的,而JS這類(lèi)的語(yǔ)言如果要實(shí)現(xiàn)區(qū)分同名對(duì)象就需要使用命名空間的思路設(shè)計(jì)代碼。C#中提供了一套命名空間的規(guī)則,具體如下:

定義和使用命名空間:

using System;

using first_space;
namespace first_space{   class ClassA   {      public void func()      {         Console.WriteLine("第一個(gè)命名空間ClassA的方法被執(zhí)行");      }   }   class ClassB   {      public void func()      {         Console.WriteLine("第一個(gè)命名空間ClassB的方法被執(zhí)行");      }   }}namespace second_space{   class ClassA   {      public void func()      {         Console.WriteLine("Inside second_space");      }   }}  
class TestClass{  static void Main(string[] args)  {    // 需要區(qū)分命名空間加命名空間,類(lèi)名前面加了命名空間可以不使用using語(yǔ)句引用    first_space.ClassA fc = new first_space.namespace_cl();    second_space.ClassA sc = new second_space.namespace_cl();    fc.func();    sc.func();    // 不需要區(qū)分命名空間直接用類(lèi)名,前提是要加using語(yǔ)句引用這個(gè)命名空間    ClassB cb = new ClassB();    cb.func();
   Console.ReadKey();  }}


二、命名空間的內(nèi)嵌寫(xiě)法用法


    不言而喻其實(shí)就是在一個(gè)命名空間內(nèi)嵌套一個(gè)另外的命名空間,直接看實(shí)例:

using System;using SomeNameSpace;using SomeNameSpace.Nested;
namespace SomeNameSpace{    public class MyClass    {        static void Main()        {            Console.WriteLine("In SomeNameSpace");            Nested.NestedNameSpaceClass.SayHello();        }    }
   // 內(nèi)嵌命名空間    namespace Nested      {        public class NestedNameSpaceClass        {            public static void SayHello()            {                Console.WriteLine("In Nested");            }        }    }}//執(zhí)行結(jié)果如下://In SomeNameSpace//In Nested


三、using關(guān)鍵字的用法


using關(guān)鍵字最常見(jiàn)的使用方法是引用命名空間,但也有一些其他的用法:


01、using static 指令

指定無(wú)需指定類(lèi)型名稱(chēng)即可訪問(wèn)其靜態(tài)成員的類(lèi)型

using static System.Math;var = PI; // 直接使用System.Math.PI

02、using起別名

using Project = PC.MyCompany.Project;

03、using語(yǔ)句

將實(shí)例與代碼綁定,這時(shí)的using已經(jīng)不是針對(duì)命名空間的操作了,我們可以把它看成一個(gè)代碼塊。在()中聲明一些變量,在{}中使用這些變量,{}中的代碼會(huì)被放在一段try代碼中,而這段代碼執(zhí)行完畢后會(huì)使用finally的方式調(diào)用所聲明變量的Dispose方法(只有實(shí)現(xiàn)了IDisposable接口的類(lèi)才可以在using代碼塊中聲明,因?yàn)橐{(diào)用Dispose方法)。

using System;

using UnityEngine;
namespace Y7PLAY.FlyingSB2{    public class MyClass : IDisposable    {        public void MyFun()        {        }        public void Dispose()        {            throw new NotImplementedException();        }    }    public class Testscript : MonoBehaviour    {        // Start is called before the first frame update        void Start()        {            using (MyClass t1 = new MyClass())// 聲明變量            {        t1.MyFun();//使用變量            }// 代碼塊結(jié)束后自動(dòng)調(diào)用生成對(duì)象的Dispose方法          // 這段代碼與上面那段代碼相等,使用using語(yǔ)句更加簡(jiǎn)潔      MyClass t2 = null;            try            {                t2 = new MyClass();                t2.MyFun();            }            finally            {                t2.Dispose();            }        }    }}


四、命名空間、類(lèi)、函數(shù)、變量之間的關(guān)系


關(guān)于他們之間的關(guān)系我也是捋了很久,以下僅代表我個(gè)人觀點(diǎn):


1.命名空間 namespace 中可包含多個(gè)類(lèi) class,命名空間將這些類(lèi)打包起來(lái)。一個(gè)命名空間想調(diào)用另一個(gè)命名空間中的類(lèi)時(shí),就需要首先使用using+命名空間名字 聲明命名空間。


2.類(lèi)通過(guò)class關(guān)鍵字定義,在類(lèi)中有變量和函數(shù)。變量和函數(shù)不能寫(xiě)到命名空間中。


3.函數(shù),可以算是類(lèi)的功能,一個(gè)類(lèi)中通常有多個(gè)函數(shù),實(shí)現(xiàn)多種功能。就比如電視機(jī)是一個(gè)類(lèi),然后電視機(jī)這個(gè)類(lèi)的函數(shù)也就是它的功能就有,播放視頻、發(fā)出聲音、切換頻道,等等。要注意的是,在類(lèi)中通常我們會(huì)看到一個(gè)和類(lèi)同名的函數(shù),它沒(méi)有返回值,也通常沒(méi)有輸入?yún)?shù)(形參),這個(gè)函數(shù)叫做構(gòu)造函數(shù),它的作用一般就是初始化類(lèi)的一些成員變量,默認(rèn)是沒(méi)有形參的,不過(guò)如果有需要可以將其重載為有形參的(直接添加所需形參)。其他的與類(lèi)不同命,且具有返回值的函數(shù)叫做類(lèi)的成員函數(shù),實(shí)現(xiàn)各種類(lèi)的功能。


4.變量,定義在類(lèi)里面但是在函數(shù)外面的變量稱(chēng)為成員變量,它在整個(gè)類(lèi)中一直存在;定義在函數(shù)內(nèi)部的變量叫做局部變量,只存在于當(dāng)前函數(shù)中。成員變量占用的內(nèi)存比局部的大,只需要在函數(shù)里面用一下的變量一般定義為局部就好了。關(guān)于內(nèi)存占用的問(wèn)題以后有機(jī)會(huì)再細(xì)說(shuō)。


該文章在 2023/11/1 15:10:56 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved