namespace-C#命名空間

  • 博主寫作不容易,孩子需要您鼓勵
  • 萬水千山總是情 , 先點個贊行不行

C#程序是利用命名空間組織起來的。命名空間既做程序的內部組織系統,又用做外部組織系統。就像一個國家為了便于管理,分成多個省份一樣。

聲明命名空間

命名空間是.NET 避免名稱沖突的一種方式。例如,定義類Phone來表示手機,同時其他人也可以定義一個Phone類,只要二者不在同一個命名空間中,就不引起命名沖突。在一個命名空間中可以有多個類、結構、接口等。在同一個命名空間中,類名、結構、接口等不可重名。

  • 語法格式如下:
  • namespace 命名空間名稱{//命名空間主體}
    

    如下程序:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;namespace test
    {class Program{static void Main(string[] args){Student Stu1;Stu1.stuNum = "14031403";Stu1.stuName = "小明";Stu1.stuAge = 19;Stu1.stuClass = 1;Stu1.stuGrade = 12;Console.WriteLine("結構體演示");Console.WriteLine("學生 " + Stu1.stuName.ToString() + ":");Console.WriteLine("學號:{0},年齡:{1},年級:{2},班級:{3}",Stu1.stuNum,Stu1.stuAge,Stu1.stuGrade,Stu1.stuClass);Stu1.ChengeStudentInf("14031403", "小明", 19, 1, 13);Console.WriteLine("調用結構體方法演示");Console.WriteLine("學生 " + Stu1.stuName.ToString() + ":");Console.WriteLine("學號:{0},年齡:{1},年級:{2},班級:{3}", Stu1.stuNum, Stu1.stuAge, Stu1.stuGrade, Stu1.stuClass);Student stu2 = new Student("14081408", "小王", 18, 3, 12);Console.WriteLine("調用結構體構造函數演示");Console.WriteLine("學生 " + stu2.stuName.ToString() + ":");Console.WriteLine("學號:{0},年齡:{1},年級:{2},班級:{3}", stu2.stuNum, stu2.stuAge, stu2.stuGrade, stu2.stuClass);Console.ReadKey();}}public struct Student                   //定義結構體Student{public String stuNum;               //定義結構成員表示學生學號public String stuName;              //定義結構成員表示學生名字public int stuAge;                  //定義結構成員表示學生年齡public int stuClass;                //定義結構成員表示學生班級public int stuGrade;                //定義結構成員表示學生年級public Student(String stuNum, String stuName, int stuAge, int stuClass, int stuGrade){                                   //結構體的構造函數,用參數給成員賦值this.stuNum = stuNum;this.stuName = stuName;this.stuAge = stuAge;this.stuClass = stuClass;this.stuGrade = stuGrade;}public void ChengeStudentInf(String stuNum, String stuName, int stuAge, int stuClass, int stuGrade){                                   //結構體的方法函數,用參數改變成員的值this.stuNum = stuNum;this.stuName = stuName;this.stuAge = stuAge;this.stuClass = stuClass;this.stuGrade = stuGrade;}}}
    

    namespace test就是定義了test命名空間。
    命名空間不過是數據類型的一種組合方式,但命名空間中所有數據類型的名稱都會自動加上該命名空間的名字作為其前綴。命名空間還可以相互嵌套。如果沒有顯示提供命名空間,則默認用該項目名稱作為命名空間。

    using關鍵字

    把一個類型放在命名空間中,可以有效地給這個類型制定一個較長的名稱,該名稱包括類型的命名空間,后面是句點“.”和類型的名稱。

  • 語法格式如下:
  • using 命名空間名稱;
    

    引入命名空間后,就可以在代碼中直接引入命名空間中類型的名字了。
    如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;namespace test
    {class Program{static void Main(string[] args){Student Stu1;Stu1.stuNum = "14031403";Stu1.stuName = "小明";Stu1.stuAge = 19;Stu1.stuClass = 1;Stu1.stuGrade = 12;Console.WriteLine("結構體演示");Console.WriteLine("學生 " + Stu1.stuName.ToString() + ":");Console.WriteLine("學號:{0},年齡:{1},年級:{2},班級:{3}",Stu1.stuNum,Stu1.stuAge,Stu1.stuGrade,Stu1.stuClass);Stu1.ChengeStudentInf("14031403", "小明", 19, 1, 13);Console.WriteLine("調用結構體方法演示");Console.WriteLine("學生 " + Stu1.stuName.ToString() + ":");Console.WriteLine("學號:{0},年齡:{1},年級:{2},班級:{3}", Stu1.stuNum, Stu1.stuAge, Stu1.stuGrade, Stu1.stuClass);Student stu2 = new Student("14081408", "小王", 18, 3, 12);Console.WriteLine("調用結構體構造函數演示");Console.WriteLine("學生 " + stu2.stuName.ToString() + ":");Console.WriteLine("學號:{0},年齡:{1},年級:{2},班級:{3}", stu2.stuNum, stu2.stuAge, stu2.stuGrade, stu2.stuClass);Console.ReadKey();}}public struct Student                   //定義結構體Student{public String stuNum;               //定義結構成員表示學生學號public String stuName;              //定義結構成員表示學生名字public int stuAge;                  //定義結構成員表示學生年齡public int stuClass;                //定義結構成員表示學生班級public int stuGrade;                //定義結構成員表示學生年級public Student(String stuNum, String stuName, int stuAge, int stuClass, int stuGrade){                                   //結構體的構造函數,用參數給成員賦值this.stuNum = stuNum;this.stuName = stuName;this.stuAge = stuAge;this.stuClass = stuClass;this.stuGrade = stuGrade;}public void ChengeStudentInf(String stuNum, String stuName, int stuAge, int stuClass, int stuGrade){                                   //結構體的方法函數,用參數改變成員的值this.stuNum = stuNum;this.stuName = stuName;this.stuAge = stuAge;this.stuClass = stuClass;this.stuGrade = stuGrade;}}}
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    

    這就是在引入命名空間。

    如果Using指令引用的兩個命名空間包含同名的類,就必須使用完整的名字,以確保編譯器知道訪問哪個類型。就像一班和二班都有一個叫黎明的學生,開校大會點名時就要說清楚是一班的還是二班的黎明。建議在大多數情況下,都至少要提供兩個嵌套的命名空間名稱,第一是公司名,第二是技術名稱或軟件包名稱,而類是其中的一個成員。

    • 博主簡介:
    • 工業自動化上位機軟件工程師、機器視覺算法工程師、運動控制算法工程師。目前從業于智能制造自動化行業。 博主郵箱:2296776525@qq.com
    • 幫忙點個贊吧。哈哈。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254290.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254290.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254290.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

NKU 專題一 題解

A - Flip Game 總的情況數只有2^16次方種&#xff0c;顯然直接bfs就可以了 1 #include<iostream>2 #include<queue>3 #include<cstring>4 using namespace std;5 int W,B,start;6 bool have[1000000];7 struct plot{8 int n,step;9 }; 10 void input(int…

僵尸進程(轉)

前面的文章中&#xff0c;我們已經了解了父進程和子進 程的概念&#xff0c;并已經掌握了系統調用exit的用法&#xff0c;但可能很少有人意識到&#xff0c;在一個進程調用了exit之后&#xff0c;該進程并非馬上就消失掉&#xff0c;而是留下一個稱為僵尸進 程&#xff08;zomb…

ComblockEngine 引擎實踐

comblockEngine 參考資料 官方網址 學習備注 熟悉內容 1.python 的字符串操作 2.flags 屬性的作用域 flags等 問題每天 1 1.基本數據類型 基本類型 2.數據庫表的操作 操作1 3.屬性的定義在.def中。self.出來之后&#xff0c;在繼承多個類的時候會不會重復。應該是子類的屬性覆蓋…

王陽明詩歌集

此心光明&#xff0c;夫復何求。&#xff08;王陽明死前對弟子的遺言&#xff09; 0. 非常少年、非常父子 山近月遠覺月小&#xff0c;便道此山大于月。若人有眼大如天&#xff0c;當見山高月更闊。—— 《蔽月山房》&#xff0c;作于12歲&#xff1b;1. 中秋 吾心自有光明月&a…

子承父業-C#繼承

文章目錄繼承的定義和使用實例繼承的特性繼承的可傳遞性繼承的單一性繼承中的訪問修飾符base和this關鍵字basethis實例博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 繼承是軟件復用的一種形式。使用繼承可以復用現在類的數據和行為&#xff…

MAVEN創建并打包web項目

maven項目是由一個maven project和多個maven module組成的&#xff0c;以下簡介一下maven webapp的創建和打包&#xff0c;前提是你已經安裝配置好maven了。打開eclipse。依照例如以下操作&#xff1a; 我們首先當然要先創建一個project。如上圖選擇。 如今maven project已經創…

GNU gcc的編譯工具用法(轉)

對大多數不從事Linux平臺C語言開發的人來說&#xff0c;GNU gcc的一套工具和Linux平臺的共享庫的使用還是十分陌生的&#xff0c;其實我也不太熟悉&#xff0c;姑且寫點基礎知識&#xff0c;權當做備忘吧。 一、GNU gcc的編譯工具用法 我們先來寫一個簡單的C程序&#xff1a;…

學界 | CVPR 2018頒布五大獎項,何愷明獲年輕學者獎

年度計算機視覺和模式識別盛會CVPR&#xff08;Conference on Computer Vision and Pattern Recognition&#xff09;在美國鹽湖城開幕啦&#xff01; 據統計&#xff0c;本屆大會有超過3309篇大會論文投稿&#xff0c;接收979篇論文。 面對如此多的論文評審任務&#xff0c;CV…

virtual、override-蝌蚪和青蛙-C#多態

文章目錄多態的概念多態的實現方法重載、重寫、隱藏重載重寫隱藏博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 多態的概念 什么是多態&#xff1f; 多態一次最早用于生物學&#xff0c;指同一種族的生物具有不同的特性。比如青蛙小時候是蝌…

jvm--3.內存管理

5.JVM內存管理 JAVA虛擬機在執行java程序的過程中&#xff0c;會把它管理的內存分成若干個不同的數據區域。 ------------------------------------------------------------------------------------— | 運行時數據區 | | ----------- -------- ----------------- | | | 方法…

[BZOJ2458][BeiJing2011]最小三角形

題目描述 Description Xaviera現在遇到了一個有趣的問題。平面上有N個點&#xff0c;Xaviera想找出周長最小的三角形。由于點非常多&#xff0c;分布也非常亂&#xff0c;所以Xaviera想請你來解決這個問題。為了減小問題的難度&#xff0c;這里的三角形也包括共線的三點。 輸…

Makefile中的變量

Makefile中的變量 2007-11-03 12:03Makefile中變量有以下幾個特征&#xff1a; 1. Makefile中變量和函數的展開&#xff08;除規則命令行中的變量和函數以外&#xff09;&#xff0c;是在make讀取makefile文件時進行的&#xff0c;這里的變量包括了使用“”定義和使用指示符“d…

小技巧集錦

2019獨角獸企業重金招聘Python工程師標準>>> jackson JsonDeserialize 使用方法&#xff1a; 實現方法注解寫在set方法上。 public class CustomJsonDateDeserializer extends JsonDeserializer<Date> {private SimpleDateFormat datetimeFormat new SimpleD…

interface-C#接口-統一的標準

文章目錄接口的定義接口的實現實例1實例2接口的繼承博主寫作不容易&#xff0c;孩子需要您鼓勵 萬水千山總是情 , 先點個贊行不行 接口是面向對象編程的一個重要技術&#xff0c;在C#中負責實現多重繼承。一個接口定義一個協定&#xff0c;實現接口類或結構體必須遵守其協定…

JMeter入門(1):JMeter總體介紹及組件介紹

一、JMeter概述 JMeter就是一個測試工具&#xff0c;相比于LoadRunner等測試工具&#xff0c;此工具免費&#xff0c;且比較好用&#xff0c;但是前提當然是安裝Java環境&#xff1b;JMeter可以做(1)壓力測試及性能測試&#xff1b;(2)數據庫測試&#xff1b;(3)Java程序的測試…

二層交換機、三層交換機和路由器的基本工作原理和三者之間的主要區別

二層交換機:二層交換技術是發展比較成熟&#xff0c;二層交換機屬數據鏈路層設備&#xff0c;可以識別數據包中的MAC地址信息&#xff0c;根據MAC地址進行轉發&#xff0c;并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。 具體如下&#xff1a; &#xff08;1&…

Unity3D:視物有點眩暈的原因

設置Main Camera 的 Field of View 為100&#xff0c;看物體總覺得很不舒服。 設置為 60 就正常了。 根本原因&#xff0c;有待于分析 轉載于:https://www.cnblogs.com/makebetter/p/7063694.html

使用jQuery清空file文件域的解決方案

使用jQuery清空file文件域的解決方案 var file $("#file") file.after(file.clone().val("")); file.remove();

更改mysql最大連接數

方法一&#xff1a; 打開cmd&#xff0c;用"mysql -u root -p;"命令進入mysql, 輸入命令&#xff1a;show variables like "max_connections" 顯示最大連接數 更改最大連接數 : set global max_connections 5000 方法二&#xff1a; 在my.ini加上 max_co…

根據HTML5 獲取當前位置的經緯度【百度地圖】【高德地圖】

是想讓地圖的定位用戶位置更準確一些。 查看了介紹&#xff1a; http://www.w3school.com.cn/html5/html_5_geolocation.asp 看介紹中拿數據挺簡單。 <!DOCTYPE html> <html> <body> <p id"demo">點擊這個按鈕&#xff0c;獲得您的坐標&…