溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

深入.net平臺(tái)和C#編程

發(fā)布時(shí)間:2020-07-15 20:52:35 來(lái)源:網(wǎng)絡(luò) 閱讀:737 作者:zzpvedem 欄目:編程語(yǔ)言

第一講 :深入.NET框架

第二:深入C#數(shù)據(jù)類型

第三 :使用結(jié)合組織相關(guān)數(shù)據(jù)

第四 :深入類的方法

第六 :初識(shí)繼承和多態(tài)

第七 :深入理解多態(tài)

第八 :可擴(kuò)展標(biāo)記語(yǔ)言(XML

第九:文件操作

 

第一講:深入.NET框架

  •   知識(shí)拓展:

     線程睡眠:1.導(dǎo)入命名空間 System.Treading;  2.Thread.Sleed(毫秒);

  • .NET框架具有兩個(gè)主要組件:公共語(yǔ)言運(yùn)行時(shí)(CLR)與框架類庫(kù)(.NET Framework類庫(kù),即FCL)。CLR.NET框架的基礎(chǔ)。CLS公共語(yǔ)言規(guī)范。

  • .NET框架核心類庫(kù)及其功能:

1.System:此命名空間包含其他所有的命名控件。

2.System.Collections.Generic:支持泛型操作。

  1. System.IO:支持對(duì)文件的操作,如復(fù)制、粘貼、刪除以及對(duì)文件的讀寫等。

  2. System.Net:支持對(duì)網(wǎng)絡(luò)協(xié)議的編程。

  3. System.Data:提供對(duì)便是ADO.NET結(jié)構(gòu)的類的訪問(wèn)。

  4. System.Windows.Forms:用于開發(fā)Windows應(yīng)用程序。

  5. System.Drawing:支持GDI+基本圖形操作。

 

 

第二講:深入C#數(shù)據(jù)類型

 

  • 數(shù)據(jù)類型分類:

                        類別

           描述

 

 

 

 

     值類型

       基本數(shù)據(jù)類型

整型:int

長(zhǎng)整型:long

浮點(diǎn)型:float

雙精度型:double

字符型:char

布爾型:bool

       枚舉類型

枚舉:enum

       結(jié)構(gòu)類型

結(jié)構(gòu):struct

       引用類型

         

基類:System.Object

字符串:string

自定義類:class

          接口

接口:interface

          數(shù)組

數(shù)組:int[],string[]

  • 結(jié)構(gòu):1.特點(diǎn):結(jié)構(gòu)中可以有字段,也可以有方法;定義時(shí),結(jié)構(gòu)中的字段不能被賦值;使用結(jié)構(gòu)時(shí)可以不用new,直接定義結(jié)構(gòu)的對(duì)象即可;聲明結(jié)構(gòu)的對(duì)象后,必須給結(jié)構(gòu)的成員賦初始值

         2.定義:訪問(wèn)修飾符 struct 結(jié)構(gòu)名{    //結(jié)構(gòu)體     

  • 關(guān)于ref修飾的使用:

  1. 使用值方式(不用ref修飾)傳遞值類型參數(shù)時(shí),參數(shù)在方法中的修改不會(huì)保留

  2. 使用值方式(不用ref修飾)傳遞引用類型參數(shù)時(shí),參數(shù)在方法中的修改會(huì)保留

  3. 使用引用方式(用ref修飾)傳遞值類型或引用類型參數(shù)時(shí),參數(shù)在方法中的修改都會(huì)被保留

  • 值類型轉(zhuǎn)換為引用類型稱為裝箱,反之稱為拆箱.

第三講:使用集合組織相關(guān)數(shù)據(jù)

  • ArrayList:類似于數(shù)組,可動(dòng)態(tài)維護(hù);容量可自動(dòng)擴(kuò)充,屬于System.Collections命名空間

 例:ArrayList aa=new ArrayList();

aa.Add(Object)  //添加

aa.Remove(Object Value)  //通過(guò)對(duì)象刪除

aa.Remove(int index)  //通過(guò)索引刪除

注:給ArrayList 添加的元素都會(huì)被轉(zhuǎn)換為Object類型,所有在訪問(wèn)這些元素的時(shí)候必須把它們轉(zhuǎn)換回原來(lái)的數(shù)據(jù)類型。

  • Hashtable字典,通過(guò)鍵(Key)和值(Value)來(lái)組織,也屬于System.Collections命名空間。

 例:Hashtable aa=new Hashtable();

 aa.Add(Key,Object value)  //添加,Key類型不定,一般為唯一標(biāo)識(shí)列

 aa.Remove(Key)  //刪除,也可使用aa.Clear() 清除所有元素

注:Hashtable 不能用索引訪問(wèn),因此遍歷只能用foreach()方法,須轉(zhuǎn)換類型

  • (泛型集合)List<>

  例:List<string> aa=new List<string>();

 aa.Add( string value)  //只能添加定義的數(shù)據(jù)類型

 aa.RemoveAt(索引)  //通過(guò)索引刪除

 aa.Remove(值或?qū)ο?/span>)  //通過(guò)值或?qū)ο髣h除

  • (泛型集合)Dictionary<K,V>

 例:Dictionary<Key,Value> aa=new Dictionary<Key,Value>();

 aa.Add(Key,Value)   //成對(duì)添加

 aa.Remove(Key)   //通過(guò)Key值刪除

第四講:深入類的方法

  • 構(gòu)造函數(shù)

 特點(diǎn):1.方法名與類名相同 2.沒(méi)有返回值類型 3.主要完成對(duì)象的初始化工作

注:寫一個(gè)帶參的構(gòu)造函數(shù)之后,如果實(shí)例化的這個(gè)類不傳參數(shù),則需要多寫一個(gè)無(wú)參的構(gòu)造函數(shù)

  • 方法重載:

 特點(diǎn):1.方法名相同 2.方法參數(shù)類型不同或者參數(shù)個(gè)數(shù)不同 3.在同一個(gè)類中

 注:方法名及參數(shù)列表相同的方法,僅是返回類型不同,不能稱為方法重載

第六章:初識(shí)繼承和多態(tài)

  • Base 關(guān)鍵字:表示父類,可以用于訪問(wèn)父類的成員;protected修飾符:用于修飾父類成員則只允許子類訪問(wèn)該成員

  • Public、private、protected 的區(qū)別

修飾符

類內(nèi)部

子類

其他類

Public

可以

可以

可以

private

可以

可以

不可以

protected

可以

不可以

不可以

  • 繼承的特性:1.傳遞性(如果class AB,class BC,則A也可以訪問(wèn)C的成員)、

2.單根性(只能有一個(gè)老爸)

  • 使用virtual關(guān)鍵字修飾的方法稱為虛方法,一般寫在父類,可用override關(guān)鍵字修飾在子類中重寫。

第七講:深入理解多態(tài)

  • 里氏原則:子類可以替換父類,父類不能替換子類。

  • 使用abstract關(guān)鍵字修飾的類是抽象類,使用abstract關(guān)鍵字修飾的方法是抽象方法,有抽象方法的類成為抽象類,抽象類中的抽象方法必須要在非抽象子類中使用override關(guān)鍵字重寫。

  • 抽象類不能被實(shí)例化,不能是密封的或靜態(tài)的。

  • Is 操作符用于檢查對(duì)象和指定的類型是否兼容;as 操作符主要用于兩個(gè)對(duì)象之間的類型轉(zhuǎn)換。

  • 面向?qū)ο蟮娜齻€(gè)特性:

 1.封裝:保證對(duì)象自身數(shù)據(jù)的完整性和安全性。

 2.繼承:建立類之間的關(guān)系,實(shí)現(xiàn)代碼復(fù)用,方便系統(tǒng)的擴(kuò)展。

 3.多態(tài):相同的方法調(diào)用可實(shí)現(xiàn)不同的實(shí)現(xiàn)方式

第八講:可擴(kuò)展標(biāo)記語(yǔ)言(XML

  • 讀取XML文件的步驟:1.創(chuàng)建操作對(duì)象 2.加載XML文件 3.獲取根節(jié)點(diǎn)對(duì)象 4.逐層次遍歷根節(jié)點(diǎn)下的子節(jié)點(diǎn),獲取節(jié)點(diǎn)的值存到所對(duì)應(yīng)的對(duì)象中。

  例:讀取XML文件的一般操作:

  XmlDocument myXml=new XmlDocument();  //創(chuàng)建操作對(duì)象

  myXml.Load(“文件路徑”);  //加載XML文件

  XmlNode engineer=myXml.DocumentElement;  //讀取XML的根節(jié)點(diǎn)

//循環(huán)遍歷根節(jié)點(diǎn)下的子節(jié)點(diǎn),ChildNodes[0]則跳一級(jí)

  Foreach(XmlNode node in engineer.ChildNodes)  

  {

      String name=node[“節(jié)點(diǎn)文本”].InnerText

//如果獲取節(jié)點(diǎn)文本則用node.Name

//如果獲取文本節(jié)點(diǎn)中的name值則用node.Attributes[“節(jié)點(diǎn)文本”].InnerText

  }

  • 操作XML的對(duì)象屬性和方法

對(duì)象

屬性和方法

說(shuō)明

 

 XmlDocument

DocumentElement屬性

獲取根節(jié)點(diǎn)

ChildNodes屬性

獲取所有子節(jié)點(diǎn)

Load()方法

讀取整個(gè)XML的結(jié)構(gòu)

 

 XmlNode

InnerText屬性

當(dāng)前節(jié)點(diǎn)的值

Name屬性

當(dāng)前節(jié)點(diǎn)的名稱

ChildNodes屬性

當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn)

 

  • TreeView控件用于顯示具有層次結(jié)構(gòu)的信息,主要屬性有NodesSelectedNodeNodes屬性包含了TreeView的節(jié)點(diǎn)對(duì)象,SelectedNode表示當(dāng)前選中的節(jié)點(diǎn)。

  • TreeNode表示TreeView的節(jié)點(diǎn)對(duì)象。Text屬性用于設(shè)置節(jié)點(diǎn)的文字描述,Tag屬性可以設(shè)置與節(jié)點(diǎn)相關(guān)的信息。

  • 通過(guò)TreeNodeAdd()方法可以給TreeView添加節(jié)點(diǎn),Remove()方法可以移除指定的節(jié)點(diǎn),Clear() 方法可以移除指定節(jié)點(diǎn)下的所有節(jié)點(diǎn)。

第九講:文件操作

  • C#程序讀寫一個(gè)文件的5個(gè)步驟:

 1.創(chuàng)建文件流;2.創(chuàng)建閱讀器或者寫入器;3.執(zhí)行讀寫操作;4.關(guān)閉閱讀器或者寫入器;5.關(guān)閉文件流。(注:流是一個(gè)用于數(shù)據(jù)傳輸?shù)膶?duì)象)

例:

//創(chuàng)建文件流

FileStream myfs=new FileStream(保存的路徑,FileMode.Create);

//創(chuàng)建寫入器

StreamWriter mySw=new StreamWriter(myfs);

//將內(nèi)容寫入文件 

mySw.Write(“內(nèi)容”);

//關(guān)閉寫入器

mySw.Close();

//關(guān)閉文件流

myfs.Close();

  • StreamWriter 寫入器

StreamWriter.Write(); 用于寫入流,這個(gè)流就是我們創(chuàng)建好的流。

StreamWriter.WriteLine(); 用于寫入一行數(shù)據(jù),寫入某些數(shù)據(jù)后跟換行符。

StreamWriter.Close(); 用于關(guān)閉寫入器。

  • StreamReader 讀取器

StreamReader.ReadLine(); 讀取文件流中的一行數(shù)據(jù),并返回字符串

StreamReader.ReadToEnd(); 從當(dāng)前位置讀到末尾,返回字符串

StreamReader.Close(); 用于關(guān)閉讀取器

  • File類的常用方法(文件操作類,可以不實(shí)例化對(duì)象):

返回值類型

      方法名稱

                 說(shuō)明

bool

Exists(string path)

用于檢查指定文件是否存在

void

Copy(string sourceFilePath,

String destinationFilePath)

將指定路徑的源文件中的內(nèi)容復(fù)制到目標(biāo)文件中,如果目標(biāo)文件不存在,則在指定路徑中新建一個(gè)文件

void

Move(string sourceFileName

,string destFileName)

將指定文件移到一個(gè)新的路徑

void

Delete(string path)

刪除指定的文件,如果指定的文件不存在,則不引發(fā)異常

 

  • Directory類的常用方法(操作目錄類,可以不實(shí)例化對(duì)象):

返回值類型

     方法名稱

                說(shuō)明

bool

Exists(string path)

用于檢查指定文件夾在磁盤上是否存在

void

Move(string sourceDirName,

String destDirName)

用于將文件或目錄及其內(nèi)容移到新位置

void

Delete(string pathbool recursive)

刪除指定目錄,如果recursive值為true,則刪除子目錄中的所有目錄內(nèi)容

 

  • 靜態(tài)類和非靜態(tài)類的區(qū)別

         靜態(tài)類

             非靜態(tài)類

static修飾

不用static修飾

只包含靜態(tài)成員

可以包含靜態(tài)成員

不可以包含實(shí)例成員

可以包含實(shí)例成員

使用類名調(diào)用靜態(tài)成員

使用實(shí)例對(duì)象調(diào)用非靜態(tài)成員

不能被實(shí)例化

可以被實(shí)例化

不能包含實(shí)例構(gòu)造函數(shù)

包含實(shí)例構(gòu)造函數(shù)

 

  • FileInfo類的屬性和方法(文件操作類,必須實(shí)例化對(duì)象)

                     屬性

                       說(shuō)明

                   Exists

用于檢查指定文件是否存在,返回一個(gè)布爾值

                   Extension

獲取表示文件擴(kuò)展名部分的字符串

                   Name

獲取文件名

                     FullName

獲取目錄或文件的完整目錄

      返回值類型

        方法

                      說(shuō)明

        FileInfo

CopyTo(string)

將現(xiàn)在文件復(fù)制到新文件,不允許覆蓋現(xiàn)在文件

        void

Delete()

永久刪除文件

        void

maveTo(string)

將指定文件移到新位置(string)

  • DirectoryInfo類,與Directory類相似,但必須實(shí)例化對(duì)象,其中GetDirectories()方法:該方法返回當(dāng)前目錄的子目錄對(duì)象數(shù)組;GetFiles():該方法返回當(dāng)前目錄下的文件列表(FileInfo 對(duì)象數(shù)組)。

  • MyFile類(存儲(chǔ)文件信息類):

       屬性

          類型

         說(shuō)明

FileLength

float

文件長(zhǎng)度,以KB為單位

FileName

string

文件名

FilePath

string

文件路徑

FileType

string

文件類型

 

 


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

ne
AI