CSharp1.ppt_第1頁(yè)
CSharp1.ppt_第2頁(yè)
CSharp1.ppt_第3頁(yè)
CSharp1.ppt_第4頁(yè)
CSharp1.ppt_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C#程序設(shè)計(jì)基礎(chǔ),$1 緒論,特點(diǎn),結(jié)構(gòu)化程序設(shè)計(jì) 面向?qū)ο蟮某绦蛟O(shè)計(jì) 基于組件的程序設(shè)計(jì) CORBA, Java EJB COM COM+/DCOM 桌面應(yīng)用 網(wǎng)絡(luò)應(yīng)用 Internet應(yīng)用,組成,.NET Framework環(huán)境結(jié)構(gòu),緒論,C#語(yǔ)言,C#語(yǔ)言,C#語(yǔ)言特性 簡(jiǎn)潔的語(yǔ)法 精心的面向?qū)ο笤O(shè)計(jì) 與Web的緊密結(jié)合 完整的安全性與錯(cuò)誤處理 版本處理技術(shù) 靈活性與兼容性,C#語(yǔ)言,C# 2.0 新增特性 泛型 可空類型 遍歷器(自學(xué)) 匿名方法(自學(xué)) 分部類型(自學(xué)),C#語(yǔ)言,C# 3.0 新增特性 類型推理 Lambda表達(dá)式 擴(kuò)展方法 對(duì)象創(chuàng)建表達(dá)式 匿名類型 分部方法,緒論

2、,開(kāi)始編寫(xiě)C#應(yīng)用程序,第一個(gè)C# 應(yīng)用程序,using System; namespace P1_1 public class FirstProgram public static void Main(string args) Console.WriteLine(Welcome to .NET); ,Pascal大小寫(xiě)和camel規(guī)則,標(biāo)識(shí)符有兩種常用命名規(guī)則:Pascal大小寫(xiě)和camel規(guī)則。 Pascal 大小寫(xiě):將標(biāo)識(shí)符的首字母和后面連接的每個(gè)單詞的首字母都大寫(xiě)。例如:BackColor 大小寫(xiě)混合camel規(guī)則:標(biāo)識(shí)符的首字母小寫(xiě),而每個(gè)后面連接的單詞的首字母都大寫(xiě)。例如:back

3、Color Pascal規(guī)則:命名空間、類名、方法名等。 camel規(guī)則:字段,變量等。,C# 程序基本結(jié)構(gòu),命名空間 P10 類型、類和方法P10 程序主方法P11 程序注釋P12,命名空間,命名空間是c#代碼的基本組織形式,類、結(jié)構(gòu)等各種類型定義都包含在命名空間中,而命名空間也可以嵌套在另一個(gè)命名空間中,這就形成一個(gè)邏輯上的層次體系結(jié)構(gòu)。 作用 解決命名沖突問(wèn)題 調(diào)用更加簡(jiǎn)潔,程序注釋,多行注釋 /*第一行 第二行*/ 單行注釋 /這里是單行注釋 三行注釋 以后介紹,1.6 與用戶進(jìn)行交互,控制臺(tái)交互程序 舉例演示,Windows應(yīng)用程序,舉例演示,C#程序設(shè)計(jì)基礎(chǔ),第二章 數(shù)據(jù)類型,C#

4、數(shù)據(jù)類型,值類型 簡(jiǎn)單類型:整數(shù) 字符 實(shí)數(shù) 布爾 復(fù)合類型:結(jié)構(gòu) 枚舉,整數(shù)類型:sbyte、byte、short、ushort、int、uint、long、ulong和char。 布爾類型bool:表示的邏輯變量,只有兩種取值:“真”或“假”,采用“true”和“false”兩個(gè)值來(lái)表示。 字符類型包括數(shù)字字符、英文字母和表達(dá)符號(hào)等。 實(shí)數(shù)類型包括浮點(diǎn)類型和十進(jìn)制類型: 浮點(diǎn)類型包括單精度類型(float)型和雙精度類型(double)。 十進(jìn)制類型(decimal): 十進(jìn)制類型適合應(yīng)用在不能接受舍入誤差的計(jì)算中。,整數(shù)、實(shí)數(shù)、字符和布爾類型,結(jié)構(gòu)類型,把一系列相關(guān)的變量組織成為一個(gè)單一

5、實(shí)體的類型稱為結(jié)構(gòu)類型,每一個(gè)變量稱為結(jié)構(gòu)的成員。 例:將一個(gè)點(diǎn)的x坐標(biāo)和y坐標(biāo)組成一個(gè)點(diǎn)結(jié)構(gòu)類型。結(jié)構(gòu)是使用struct關(guān)鍵字定義的,定義一個(gè)點(diǎn)結(jié)構(gòu)類型point的代碼如下: struct Point public int x,y; /定義字段 ,結(jié)構(gòu)舉例,using System; namespace Example class Program static void Main(string args) SPoint s1 = new SPoint(); s1.x = 0; s1.y = 0; s1.DisplayPoint(); SPoint s2 = s1; s2.x = 5; s2.

6、y = 10; s1.DisplayPoint(); struct SPoint public int x; public int y; public void DisplayPoint() Console.WriteLine(類變量c1: x=0, y=1, x, y); ,枚舉(enum)類型由一組命名常數(shù)組成,這組命名常數(shù)稱為枚舉列表;每一個(gè)枚舉類型都具有一個(gè)底層基本類型。 底層基本類型必須是內(nèi)置的有符號(hào)或無(wú)符號(hào)整數(shù)類型(如Int16、Int32或Int64)。枚舉元素的默認(rèn)類型為int,并且在默認(rèn)情況下,第1個(gè)元素的值為0,后續(xù)的元素依次遞增1。 例如,在下面的枚舉變量color中,R

7、ed=0、Green=1,依次類推。 enum colorRed,Green,Blue,White,Black; 在聲明枚舉變量時(shí)還可以指定底層的基本類型,例如下面的語(yǔ)句,指定long為底層的基本類型。 enum Range:long Max = 2147483648L,Min = 255L;,枚舉類型,枚舉舉例,/程序清單P2_5.cs: using System; namespace P2_5 class EnumSample public static void Main() Weekday w1; w1 = Weekday.Monday; Console.WriteLine(w1);

8、w1 = w1 + 1; Console.WriteLine(w1); w1 = (Weekday) 4; Console.WriteLine(w1); enum Weekday Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ,引用類型,類 與結(jié)構(gòu)類似,不同點(diǎn)為結(jié)構(gòu)是值類型,類是引用類型。 接口 應(yīng)用程序之間相互調(diào)用的協(xié)議,被調(diào)用一方在協(xié)議中對(duì)自已能提供的服務(wù)進(jìn)行描述,另一方在調(diào)用之前,先檢查協(xié)議存在哪些服務(wù),其中哪些能滿足自已的要求。 委托 類似C+中的指針,用于封裝對(duì)一個(gè)或多個(gè)方法的引用。 數(shù)組 (在后面介紹)

9、,類舉例,using System; namespace Example class Program static void Main(string args) CPoint c1 = new CPoint(); c1.x = 0; c1.y = 0; c1.DisplayPoint(); CPoint c2 = c1; c2.x = 5; c2.y = 10; c1.DisplayPoint(); class CPoint public int x; public int y; public void DisplayPoint() Console.WriteLine(類變量c1: x=0,

10、y=1, x, y); ,i: 123,s,Hello world,int i = 123;,j: 123,t,int j = i;,string t = s;,string s = Hello world;,值類型與引用類型比較,內(nèi)存“堆?!焙汀岸选?“堆?!焙汀岸选笔沁\(yùn)行庫(kù)對(duì)內(nèi)存進(jìn)行組織的兩種方式。 堆棧內(nèi)存就像一系列堆疊越高的箱子。 堆內(nèi)存則像散布在房間里的一大堆箱子,而不像堆棧那樣每個(gè)箱子都嚴(yán)格地疊置在另一個(gè)箱子上方。每個(gè)箱子都有一個(gè)標(biāo)簽,它標(biāo)記了這個(gè)箱子是否使用。 創(chuàng)建一個(gè)新對(duì)象時(shí),運(yùn)行庫(kù)會(huì)查找一個(gè)空箱子,并把它分配給對(duì)象。對(duì)對(duì)象的引用存儲(chǔ)在堆棧上的一個(gè)局部變量中。運(yùn)行庫(kù)將跟蹤對(duì)每一

11、個(gè)箱子的引用數(shù)量, (兩個(gè)變量可能引用同一個(gè)對(duì)象)。一旦最后一個(gè)引用消失,運(yùn)行庫(kù)就將箱子標(biāo)記為“未使用”。 所有值類型都是在堆棧上創(chuàng)建的,所有引用類型(對(duì)象)都是在堆上創(chuàng)建的。,類型轉(zhuǎn)換,值類型值類型 P40 低精度類型高精度類型:隱式轉(zhuǎn)換 高精度類型低精度類型:顯式轉(zhuǎn)換 引用類型引用類型 P43 派生類型基礎(chǔ)類型:隱式轉(zhuǎn)換 基礎(chǔ)類型派生類型:顯式轉(zhuǎn)換 Null 數(shù)組 值類型引用類型P45 值類型引用類型:隱式轉(zhuǎn)換(裝箱) 引用類型值類型:顯式轉(zhuǎn)換(拆箱),int i = 123; object o = i; int j = (int) o;,i: 123,o,System.Int32,裝箱,

12、j:,123,System.object,123,拆箱,System.Int32,裝箱與拆箱過(guò)程,數(shù)組,數(shù)組用于對(duì)同一類型的數(shù)據(jù)進(jìn)行批量處理,它包含多個(gè)數(shù)據(jù)對(duì)象,這些對(duì)象叫做“數(shù)組元素”。數(shù)組元素的類型可以是值類型,也可以是引用類型,還可以把數(shù)組本身作為另一個(gè)數(shù)組的數(shù)組元素。,一維數(shù)組,定義:P36 T array-name; 初始化: array-name = new Tsize; 訪問(wèn)數(shù)組元素: 定義 + 初始化 + 賦值:T array-name = const-exp;,一維數(shù)組使用,方法一 int array1 = new int3; array10 = 1; array11 = 2

13、; array12 = 4; 方法二 int array1 = new int31,2,4; int array1 = 1,2,4;,多維數(shù)組- 規(guī)則,定義:P37 T, array-name; T, array-name; 初始化: array-name = new Tsize1, size2; 訪問(wèn)數(shù)組元素: , 定義 + 初始化 + 賦值:T, array-name = const-exp1, const-exp2;,多維規(guī)則數(shù)組使用,int, a = new int3,4;a1,1= 10; int, a = new int,0,0,0,0,1,1,2,2,2,3,4,5; int,

14、a = 0,0,0,0,1,1,2,2,2,3,4,5;,多維數(shù)組- 不規(guī)則,定義 P38 初始化 訪問(wèn)數(shù)組元素 存儲(chǔ)子數(shù)組的地址,多維不規(guī)則數(shù)組使用,int b = new int3; b0= new int 4; b1= new int3; b2= new int 2;,數(shù)組舉例,using System; namespace P2_9 class MultiArraySample public static void Main() int, a = 0, 0, 1, 1 , 1, 1, 2, 2 , 2, 3, 4, 5 ; int b = new int3; b0 = new int4

15、; b1 = new int3; b2 = new int2; Console.WriteLine(規(guī)則數(shù)組); Console.WriteLine(長(zhǎng)度: 0, a.Length); Console.WriteLine(子數(shù)組長(zhǎng)度: 0, 1rn, a.GetLength(0), a.GetLength(1); Console.WriteLine(不規(guī)則數(shù)組); Console.WriteLine(長(zhǎng)度: 0, 1, b.Length, b.GetLength(0); /調(diào)用b.GetLength(1)將會(huì)出錯(cuò) Console.WriteLine(子數(shù)組長(zhǎng)度: 0, 1, 2rn, b0.L

16、ength, b1.Length, b2.Length); ,a.Length與a.GetLength(0)都是數(shù)組第一維的長(zhǎng)度,不能用其它整數(shù)調(diào)用GetLength方法。,C#程序設(shè)計(jì)基礎(chǔ),$3 成員、變量和常量,成員類型,字段 方法 嵌套成員,字段,字段存儲(chǔ)類所需要的數(shù)據(jù)。 可以是值類型,也可以是引用類型; 可以是系統(tǒng)預(yù)定義的類型,也可以是用戶自已定義的類、結(jié)構(gòu)和枚舉類型。 字段的命名遵循camel規(guī)則,一般為private類型。 舉例 Class BankCard Public uint amount; ,方法,方法是包含一系列語(yǔ)句的代碼塊,是類或結(jié)構(gòu)中用于執(zhí)行計(jì)算或其它行為的成員。 訪

17、問(wèn)級(jí)別:public ,private等 返回類型:任何數(shù)據(jù)類型。 方法名:同一個(gè)類中唯一。 參數(shù)列表:包含在一對(duì)小括號(hào)中,多個(gè)參數(shù)間用逗號(hào)分割,不需要參數(shù)則用一對(duì)空的小括號(hào)。 方法體:大括號(hào)括起來(lái)的一段代碼。 方法聲明 修飾符 返回類型方法名稱(形式化參數(shù)表) 方法體 ,方法-參數(shù)類型,普通參數(shù) P52 無(wú)須特別定義 引用型參數(shù) P53 以關(guān)鍵字ref定義,采用引用傳遞,定義與使用時(shí)均加ref 實(shí)參調(diào)用前必須先初始化。 輸出型參數(shù)P53 以關(guān)鍵字out定義,采用引用傳遞,定義與使用時(shí)均加out 在方法體內(nèi)必須對(duì)參數(shù)賦值,實(shí)參使用前不需要先初始化。 數(shù)組型參數(shù)P53 以關(guān)鍵字params定義,

18、根據(jù)實(shí)參形式選擇引用傳遞或值傳遞,包含數(shù)量可變的參數(shù)。 方法中只允許定義一個(gè)數(shù)組型參數(shù),而且該參數(shù)必須位于參數(shù)列表中最后。 數(shù)組型參數(shù)所定義的數(shù)組必須是一維數(shù)組。 數(shù)組型參數(shù)不能同時(shí)既為引用型參數(shù)又為輸出型參數(shù)。,傳遞給數(shù)組型參數(shù)的實(shí)參可以是一個(gè)數(shù)組變量,也可以是多個(gè)數(shù)組元素變量。前者采用引用傳遞,后者采用值傳遞的方式。,參數(shù)傳遞種類,值傳遞 值傳遞值類型,如:void SquareIt(int x) 參數(shù)int x 是值類型。 值傳遞引用類型,如:void Change(int pArray) 數(shù)組pArray 為引用類型。 引用傳遞有以下兩種類型: 引用傳遞值類型,如:void Squar

19、eIt(ref int x) 引用傳遞引用類型,如:void Change(ref int pArray),值傳遞值類型參數(shù)示例,class PassingValByVal static void SquareIt(int x) x *= x; System.Console.WriteLine(SquareIt方法內(nèi)的n值: 0, x); static void Main() int n = 5; System.Console.WriteLine(調(diào)用SquareIt方法前的n值: 0, n); SquareIt(n); / 通過(guò)值來(lái)傳遞值 System.Console.WriteLine(調(diào)

20、用SquareIt方法后的n值: 0, n); ,該程序運(yùn)行輸出: 調(diào)用SquareIt方法前的n值: 5 SquareIt方法內(nèi)的n值: 25 調(diào)用SquareIt方法后的n值: 5,值傳遞引用類型示例,class PassingRefByVal static void Change(int pArray) pArray0 = 888; / 將pArray的第一個(gè)元素賦值為888, 改變arr0 pArray = new int5 -3, -1, -2, -3, -4 ; / 引用新的數(shù)組,不改變arr System.Console.WriteLine(方法內(nèi)的數(shù)組第一元素: 0, pArr

21、ay0); static void Main() int arr = 1, 4, 5 ; System.Console.WriteLine(調(diào)用方法前的數(shù)組第一元素:0, arr0); Change(arr); System.Console.WriteLine(調(diào)用方法后的數(shù)組第一元素:0, arr0); ,該程序運(yùn)行輸出: 調(diào)用方法前的數(shù)組第一元素:1 方法內(nèi)的數(shù)組第一元素: -3 調(diào)用方法后的數(shù)組第一元素:888,引用傳遞值類型示例,class PassingValByRef / 參數(shù)X的值通過(guò)關(guān)鍵字ref來(lái)傳遞,改變x的值,將會(huì)改變輸入的x的值 static void SquareIt(

22、ref int x) x *= x; System.Console.WriteLine(SquareIt方法內(nèi)的n值: 0, x); static void Main() int n = 5; System.Console.WriteLine(調(diào)用SquareIt方法前的n值: 0, n); SquareIt(ref n); / 通過(guò)ref關(guān)鍵字來(lái)傳遞變量引用. System.Console.WriteLine(調(diào)用SquareIt方法后的n值: 0, n); ,該程序運(yùn)行輸出: 調(diào)用SquareIt方法前的n值: 5 SquareIt方法內(nèi)的n值: 25 調(diào)用SquareIt方法后的n值:

23、25,引用傳遞引用類型示例,class PassingRefByRef static void Change(ref int pArray) / 下面兩個(gè)數(shù)組賦值都將改變?cè)嫉脑?pArray0 = 888; / 將pArray的第一個(gè)元素賦值為 pArray = new int5 -3, -1, -2, -3, -4 ; / pArray 引用新的數(shù)組 System.Console.WriteLine(Change方法內(nèi)的數(shù)組第一元素: 0, pArray0); static void Main() int arr = 1, 4, 5 ; System.Console.WriteLine(

24、調(diào)用Change方法前的數(shù)組第一元素:0, arr0); Change(ref arr);/通過(guò)ref關(guān)鍵字來(lái)傳遞數(shù)組引用 System.Console.WriteLine(調(diào)用Change方法后的數(shù)組第一元素:0, arr0); ,該程序運(yùn)行輸出: 調(diào)用Change方法前的數(shù)組第一元素:1 Change方法內(nèi)的數(shù)組第一元素: -3 調(diào)用Change方法后的數(shù)組第一元素:-3,數(shù)組型參數(shù)示例 P54,/程序清單P3_2.cs: using System; namespace P3_2 class ArrayParametersSample public static void Main() d

25、ouble d1 = 1; double d2 = 5; double d3 = 3; double ds = 1, 5, 3 ; CzMath c = new CzMath(); Console.Write(值傳遞排序: ); c.Sort(d1, d2, d3); Console.WriteLine(0 1 2, d1, d2, d3); Console.Write(引用傳遞排序: ); c.Sort(ds); Console.WriteLine(0 1 2, ds0, ds1, ds2); ,class CzMath /交換兩個(gè)數(shù)的值 public void Swap(ref doubl

26、e x, ref double y) double temp = x; x = y; y = temp; /對(duì)三個(gè)數(shù)進(jìn)行排序 public void Sort(params double array) if (array.Length != 3) return; if (array0 array1) Swap(ref array0, ref array1); if (array1 array2) Swap(ref array1, ref array2); if (array0 array1) Swap(ref array0, ref array1); ,方法-標(biāo)識(shí)與重載,方法標(biāo)識(shí) 方法名 參數(shù)

27、列表(參數(shù)數(shù)量與參數(shù)類型) 返回值? 方法重載 方法名相同 參數(shù)列表不同,嵌套成員,一個(gè)程序集或命名空間中的復(fù)合類型可以并列定義也可以嵌套定義,二者之間的區(qū)別是訪問(wèn)限制的不同。采用嵌套定義時(shí),外部的其他類對(duì)嵌套類型的使用將受到限制。 只有將嵌套類型的訪問(wèn)限制修飾符設(shè)置為public,外部定義的其他類才能使用該類中的嵌套類型。,3.2 成員訪問(wèn)限制,訪問(wèn)限制修飾符 私有privateP57 限制為私有的,訪問(wèn)僅限于包含類型。 用于修飾類或結(jié)構(gòu)的成員 類和結(jié)構(gòu)成員默認(rèn)為private修飾符。 在命名空間下直接定義的類型(類、結(jié)構(gòu)、接口、枚舉、委托等),不允許使用private修飾符。,訪問(wèn)限制修飾

28、符,公有public 表示公有訪問(wèn),訪問(wèn)不受限制。 可用于類和結(jié)構(gòu)的成員。 可以用于命名空間下直接定義的類型(類、結(jié)構(gòu)等) 接口(interface)和枚舉(enum)成員默認(rèn)為public訪問(wèn)修飾符,且不能顯示使用修飾符。,訪問(wèn)限制修飾符,保護(hù)protectedP58 限制為保護(hù)訪問(wèn)。 只能用于類的成員 不能用于結(jié)構(gòu)成員和命名空間下直接定義的類型。 在其所在類和它的派生類中的成員可以訪問(wèn),而無(wú)法從類的外面訪問(wèn)。,訪問(wèn)限制修飾符,內(nèi)部internal 限制為內(nèi)部訪問(wèn),即本程序集內(nèi)可以自由訪問(wèn)。 可修飾類和結(jié)構(gòu)的成員,也可以用于命名空間下直接定義的類型。 類(Class)的默認(rèn)訪問(wèn)為intern

29、al。,訪問(wèn)限制修飾符,protected internal 同一程序集中的任何代碼或其他程序集中的任何派生類都可以訪問(wèn)該類型或成員。 唯一的組合限制修飾符,類型默認(rèn)訪問(wèn)表,靜態(tài)成員和非靜態(tài)成員,靜態(tài)成員 成員屬于類型本身所有,不會(huì)隨具體對(duì)象的變化而變化,無(wú)論類有多少個(gè)對(duì)象,一個(gè)靜態(tài)成員在內(nèi)存中只有一個(gè)副本。 使用static來(lái)定義 通過(guò)類型名調(diào)用 非靜態(tài)成員 屬于類型的實(shí)例所有 不加static關(guān)鍵字 通過(guò)實(shí)例名調(diào)用,靜態(tài)成員和非靜態(tài)成員示例,/程序清單P3_5.cs: using System; namespace P3_5 class StaticFieldSample public s

30、tatic void Main() BankCard card1 = new BankCard(); card1.m_id = 001; card1.Query(); CreditCard card2 = new CreditCard(); card2.m_id = 002; card2.Query(); /修改靜態(tài)字段 BankCard.Currency = 港幣; card1.Query(); card2.Query(); ,public class BankCard public static string Currency = 人民幣; /靜態(tài)字段 public string m_id

31、; protected uint m_amount = 10; public void Query() Console.WriteLine(卡號(hào)0: 余額12, m_id, m_amount, Currency); public class CreditCard : BankCard ,變量,基本原則 先定義后使用! 變量命名 使用camel規(guī)則 其它要求,變量種類,靜態(tài)變量 從創(chuàng)建類或結(jié)構(gòu)的第一個(gè)實(shí)例開(kāi)始存在,由所有實(shí)例共享,直到所有實(shí)例從內(nèi)存中清除。 實(shí)例變量 數(shù)組元素 數(shù)值參數(shù) 引用參數(shù) 輸出參數(shù) 局部變量,變量,聲明 初始化 賦值,常量,常數(shù)常量const 式 只讀常量readonly,C#程序設(shè)計(jì)基礎(chǔ),$4 操作符和表達(dá)式,操作符和表達(dá)式,操作符 一元操作符:op x 二元操作符:x op y 三元操作符:?:,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論