版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C#基礎(chǔ)任旭通過這一節(jié)課,可以使聽眾對.NET基本概況和C#開發(fā)語言基本結(jié)構(gòu)和語法有一個概括性的認(rèn)識。.NET基礎(chǔ)語言基礎(chǔ)基本類型流程控制.NET基礎(chǔ).NET的定義.NET技術(shù)是微軟公司推出的一個全新概念,“它代表了一個集合、一個環(huán)境和一個可以作為平臺支持下一代Internet的可編程結(jié)構(gòu)。”.NET的最終目標(biāo)就是讓用戶在任何地方、任何時間,以及利用任何設(shè)備都能訪問所需的信息、文件和程序 .NET開發(fā)平臺包括編程語言(C# ,Visual Basic ,Visual C+).NET開發(fā)工具(Visual Studio .NET).NET框架(.NET Framework)為什么選擇.NET 可
2、以同時使用多種開發(fā)語言進行開發(fā)可以利用方便的開發(fā)工具書寫更少的代碼充分利用Windows系統(tǒng)的應(yīng)用程序服務(wù)功能,如先進快速的事件處理和消息隊列機制軟件服務(wù)的發(fā)布良好的繼承性利用ADO.NETADO.NET,數(shù)據(jù)訪問更加簡單.NET架構(gòu)操作系統(tǒng)公共語言運行時 (CLR).Net Framework 類庫 (FCL)CLR能提供什么?CLR是Common Language Runtime的簡寫,中文翻譯是公共語言運行。全權(quán)負(fù)責(zé)托管代碼的執(zhí)行(主要有內(nèi)存管理和垃圾收集),是.NET的基石。CLR兩個基礎(chǔ)核心:元數(shù)據(jù):依賴元數(shù)據(jù)進行內(nèi)存管理和垃圾收集等等MSIL中間語言:使得.NET具有跨語言的集成的
3、能力。CLR所支持的語言都由相對應(yīng)的編譯器編譯為MSIL指令。再由CLR中的JIT組件編譯MSIL為機器語言,最后由CLR托管執(zhí)行。.NET Framework包含一個非常大的代碼庫,可以在客戶語言(如C#)中通過面向?qū)ο蟮木幊碳夹g(shù)來使用這些代碼這個庫分為不同的模塊,可以根據(jù)需要來使用其中的各個部分如,一個模塊包含windows應(yīng)用程序的構(gòu)件,另一個模塊包含web開發(fā)的代碼塊等等定義了一些基本數(shù)據(jù)類型,以便使用.NET Framework在各種語言之間進行交互作用,這稱為通用類型系統(tǒng)(Common Type System,CTS).NET程序編譯運行流程編譯過程JIT編譯語言基礎(chǔ)簡介C#是一種
4、簡潔、現(xiàn)代、面向?qū)ο笄翌愋桶踩木幊陶Z言。C#特性:垃圾回收 (Garbage collection) 將自動回收不再使用的對象所占用的內(nèi)存異常處理 (exception handling) 提供了結(jié)構(gòu)化和可擴展的錯誤檢測和恢復(fù)方法類型安全 (type-safe) 的語言設(shè)計則避免了讀取未初始化的變量、數(shù)組索引超出邊界或執(zhí)行未經(jīng)檢查的類型強制轉(zhuǎn)換等情形C# 是面向?qū)ο蟮恼Z言,然而 C# 進一步提供了對面向組件編程的支持。注釋(一)注釋就是寫在源代碼中的描述信息,用來幫助開發(fā)人員閱讀源代碼的。注釋信息會在編譯過程中自動過濾掉,不會出現(xiàn)在程序集中。C#支持三種注釋格式:單行注釋:以“/”開始,此行
5、后續(xù)任何文本都作為注釋內(nèi)容。多行注釋:以“/*”開始,“*/”結(jié)束。可跨越多行。XML注釋:以“/”開始,后面緊跟XML樣式元素,用來描述類型方法,屬性,事件,索引器等等信息, Visual Studio中智能提示的描述信息依賴此注釋,也可在編譯時期導(dǎo)出這些XML格式的注釋到一個XML文檔注釋(二)class Program / / Main方法 / / 命令行參數(shù) static void Main(string args) /* 聲明并初始化一個變量 * */ string info = hello world; /打印hello world System.Console.WriteLine
6、(info); XML格式注釋多行注釋 /*注釋內(nèi)容*/單行注釋 /注釋內(nèi)容Hello World 程序(一)聲明 HelloWorld 類程序入口點, Main 的返回類型為 void控制臺類的 WriteLine() 方法用于顯示輸出結(jié)果導(dǎo)入 System 命名空間聲明命名空間 Notepad將文件保存為 HelloWorld.csHello World 程序(二)命名空間:C# 程序是利用命名空間組織起來的。一種“邏輯文件夾”的概念。開發(fā)人員可以定義自己的命名空間。常用的命名空間如下:命名空間說明System 一些基本數(shù)據(jù)類型System.Data 處理數(shù)據(jù)存取和管理,在定義 ADO.N
7、ET 技術(shù)中扮演重要角色System.IO 管理對文件和流的同步和異步訪問System.Windows 處理基于窗體的窗口的創(chuàng)建System.Reflection 包含從程序集讀取元數(shù)據(jù)的類System.Threading 包含用于多線程編程的類 System.Collections 包含定義各種對象集的接口和類標(biāo)識符(一)標(biāo)識符是指標(biāo)識某一個東西的一個名字符號比如:變量名,類型名,參數(shù)名等等。標(biāo)識符以字母或者下劃線(_)開頭,其余部分允許出現(xiàn)數(shù)字和Unicode 轉(zhuǎn)義序列。關(guān)鍵字在以為前綴的情況下也可以作為標(biāo)識符。C#嚴(yán)格區(qū)分字母大小寫。如Age和age是不同的標(biāo)識符。標(biāo)識符(二)示例是否有
8、效說明123否不能以數(shù)字開頭n123是字母開頭,混合數(shù)字N123是大些字母N,所以和n123是不同的標(biāo)識符_n123是下劃線加字符和數(shù)字int否int是關(guān)鍵字int是做前綴加關(guān)鍵字nu0061me是支持Unicode轉(zhuǎn)義序列關(guān)鍵字關(guān)鍵字是一組特殊的“標(biāo)識符”,由系統(tǒng)定義,供開發(fā)者使用。因而我們不能再次定義關(guān)鍵字為標(biāo)識符(以 字符開頭時除外)。比較常用的有using、class、static、public、get*、set*、var*等等。其中加“*”的比較特殊些,稱作上下文關(guān)鍵字,這些關(guān)鍵字只有在特殊的位置才會有意義。如get和set只有在屬性中才有意義、var只能用在局部變量環(huán)境下。聲明&a
9、mp;初始化聲明一個變量的語法:數(shù)據(jù)類型 變量名;/變量名須為有效標(biāo)識符如:string name;聲明并初始化一個變量:數(shù)據(jù)類型 變量名=初始化值;如:string name=“張三”;運算符(一)運算符類型常用運算符示例算數(shù)運算符+ - * / %int i=1,j=2;i+j;/結(jié)果3關(guān)系運算符 = j;/結(jié)果false賦值運算符= += -= *= /= %=i+=j;/結(jié)果3i=i+j;的簡寫形式自運算符前置:+ -后置:+ -int n=1;int m;前置:m=+n;/結(jié)果m=2,n=2后置:m=n+;/結(jié)果m=1,n=2成員訪問運算符. .:調(diào)用對象成員:訪問數(shù)組元素或索引器邏
10、輯運算符! & |bool a=true;!a;/結(jié)果false常用的運算符:運算符(二) 大多數(shù)運算符都可以重載 (overload)。運算符重載允許指定用戶定義的運算符實現(xiàn)來執(zhí)行運算,這些運算的操作數(shù)中至少有一個,甚至所有操作數(shù)都屬于用戶定義的類類型或結(jié)構(gòu)類型。 運算符是有優(yōu)先級的,優(yōu)先級高的先運算。表達式 表達式 由操作元 (operand) 和運算符 (operator) 構(gòu)成。運算元可以是常數(shù)、對象、變量、常量、字段等等。運算符可以是上節(jié)提到的一些運算符。 當(dāng)表達式包含多個運算符時,運算符的優(yōu)先級 (precedence) 控制各運算符的計算順序。例如,表達式x + y *
11、z 按 x + (y * z) 計算。演示Hello World基本類型變量(一) 變量( variable ),言外之意即是可變的,用來存儲程序所需的數(shù)據(jù)。 聲明一個變量的語法結(jié)構(gòu)如下:/變量名必須是有效的標(biāo)識符數(shù)據(jù)類型 變量名; 也可以在聲明的同時初始化該變量:/變量名必須是有效的標(biāo)識符/值必須是與變量聲明的數(shù)據(jù)類型兼容。數(shù)據(jù)類型 變量名=值;變量(二)classclass ProgramProgram staticstatic voidvoid Main( Main(stringstring args) args) /聲明變量聲明變量 intint age; age; /為變量為變量ag
12、eage賦值賦值 age = 18; age = 18; /聲明聲明namename并初始化為李四并初始化為李四 stringstring name = name = 李四李四 ; ; 常量(一) 常量:一經(jīng)初始化就不會再次被改變的“變量”,在程序的整個運行過程中不允許改變它的值。 編譯時常量:const 數(shù)據(jù)類型 常量名=值; 編譯時常量做為類成員時總是作為static成員出現(xiàn)。不允許自己加static關(guān)鍵字。 編譯時常量的值必須是在編譯時期能確定下來的,只支持一些基本數(shù)據(jù)類型。 運行時常量:readonly 數(shù)據(jù)類型 常量名=值;運行時常量可以彌補編譯時常量不能定義復(fù)雜數(shù)據(jù)類型的缺點。常量
13、(二)class Program /正確,string為基本數(shù)類型 const string NAME_CONST = const string; /錯誤,Program為自定義復(fù)雜類型 const Program PROGRAM_CONST = new Program(); /正確, readonly string NAME_READONLY = readonly string; /正確,可定義任意數(shù)據(jù)類型 readonly Program PROGRAM_READONLY = new Program();結(jié)構(gòu)(一) 結(jié)構(gòu) (struct) 是能夠包含數(shù)據(jù)成員和函數(shù)成員的數(shù)據(jù)結(jié)構(gòu)。 結(jié)構(gòu)類型
14、的變量直接存儲該結(jié)構(gòu)的數(shù)據(jù)。 所有結(jié)構(gòu)類型都隱式地從類型System.ValueType繼承。 System.ValueType繼承自System.Object。 結(jié)構(gòu)是值類型,不需要在堆分配。 結(jié)構(gòu)類型不允許繼承。結(jié)構(gòu)(二)/用struct修飾,表示一個結(jié)構(gòu)類型struct Point public int x; public int y; public Point(int x, int y) this.x = x; this.y = y; 枚舉(一) 枚舉 (enum) 是具有一組命名常量的獨特的值(結(jié)構(gòu))類型 每個枚舉類型都有一個相應(yīng)的整型類型,稱為該枚舉類型的基礎(chǔ)類型 (underly
15、ing type)。沒有顯式聲明基礎(chǔ)類型的枚舉類型所對應(yīng)的基礎(chǔ)類型是 int。枚舉類型的存儲格式和取值范圍由其基礎(chǔ)類型確定。 所有枚舉類型默認(rèn)繼承自System.Enum類型,System.Enum繼承自System.ValueType。故枚舉為結(jié)構(gòu)類型。枚舉(二)/:long表括示基礎(chǔ)類型是long/如果不寫則默認(rèn)為intenum Alignment : long /=也可不寫,默認(rèn)則是以0開始,依次加1 Left = -1, Center = 0, Right = 1枚舉(三)public class Test static void Main() /初始化一個枚舉變量 Alignment
16、 alignment = Alignment.Left; /輸出:Left Console.WriteLine(alignment); /輸出:-1 Console.WriteLine(long)alignment); /獲得基礎(chǔ)類型 Type underlyingType = Enum.GetUnderlyingType(typeof(Alignment); /輸出:System.Int64 /解釋:long關(guān)鍵字映射的類型為System.Int64 Console.WriteLine(underlyingType.FullName); 數(shù)組(一)數(shù)組 (array) 是一種包含若干變量的數(shù)
17、據(jù)結(jié)構(gòu),這些變量都可以通過計算索引進行訪問。數(shù)組中包含的變量(元素 (element))具有相同的類型,該類型稱為數(shù)組的元素類型 (element type)。數(shù)組類型為引用類型,因此數(shù)組變量的聲明只是為數(shù)組實例的引用留出空間。在運行時使用 new 運算符動態(tài)創(chuàng)建(須指定長度),長度在該實例的生存期內(nèi)是固定不變的。數(shù)組元素的索引范圍從 0 到 Length - 1。new 運算符自動將數(shù)組的元素初始化為它們的默認(rèn)值,例如將所有數(shù)值類型初始化為零,將所有引用類型初始化為 null。數(shù)組(二) C#支持一維、多維、交錯數(shù)組。 數(shù)組下標(biāo)一般是從0開始。也提供有其他方式支持非從0下標(biāo)開始的數(shù)組。 Sy
18、stem.Array 類型是所有數(shù)組類型的抽象基類型。 訪問數(shù)組元素使用下標(biāo)方式:array索引數(shù)組(三)public class Test static void Main() /元素個數(shù)為3的int類型數(shù)組 int ages = new int3; /3 X 3的多維數(shù)組 int, i = new int3, 3; /交錯數(shù)組 int j = new int2; j0 = new int2 3, 4 ; j1 = new int3; /輸出:4 Console.WriteLine(j01); 字符串處理(一)寫程序中很大一部分的時間都是在和字符串打交道。微軟給出的.NET類庫中也給出了一些
19、字符串處理的類型。C#中的常用字符串處理類:System.StringSystem.Text.StringBuilder利用String類可以進行字符串的創(chuàng)建,截取,替換,合并等等操作。也可以用“+”方便的進行字符串的合并。大寫String與小寫string是完全相同的,大寫是指.NET類庫中的String類型,小寫是C#關(guān)鍵字,也是對應(yīng)到String這個類型上去的。比如在C#中int和Int32也是這樣對應(yīng)的。字符串處理(二)String的特別之處:不變性;讀共享,寫復(fù)制;字符串駐留技術(shù);String是引用類型,但其值確是不可變的,即是指已經(jīng)賦值就不能再改變。針對字符串的一些操作(如合并、截
20、?。┒紩a(chǎn)生出新的String對象。由于寫復(fù)制的特性,在一些需要大量合并字符串的場合就會產(chǎn)生出很多臨時性的String對象,然后又被丟棄,浪費掉不少內(nèi)存。所以類庫中有另一個System.Text.StringBuilder類型來高效的拼接字符串。字符串處理(三)public class Test static void Main() String name = 小明; /合并字符串 name = name + 20歲; name = name + 男生 ; Console.WriteLine(name);/ 小明 20歲 男生 /替換空格為- name = name.Replace( , -)
21、; Console.WriteLine(name);/-小明-20歲-男生- 字符串處理(四)public class Test static void Main() System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); for (int i = 0; i 1000; i+) /追加字符串 stringBuilder.Append(i.ToString() + |); /輸出:1|2|3|4|5.999| Console.WriteLine(stringBuilder.ToString(); 委托(
22、一)委托類型 (delegate type) 表示對具有特定參數(shù)列表和返回類型的方法的引用。通過委托,我們能夠?qū)⒎椒ㄗ鳛閷嶓w賦值給變量和作為參數(shù)傳遞。委托類似于在其他某些語言中的函數(shù)指針的概念,但是與函數(shù)指針不同,委托是面向?qū)ο蟮模⑶沂穷愋桶踩?。委托聲明定義一個從System.Delegate 類派生的類。委托實例封裝了一個調(diào)用列表,該列表列出了一個或多個方法,每個方法稱為一個可調(diào)用實體。對于實例方法,可調(diào)用實體由該方法和一個相關(guān)聯(lián)的實例組成。對于靜態(tài)方法,可調(diào)用實體僅由一個方法組成。用一個適當(dāng)?shù)膮?shù)集來調(diào)用一個委托實例,就是用此給定的參數(shù)集來調(diào)用該委托實例的每個可調(diào)用實體。委托(二)-特
23、性 將方法作為參數(shù)傳遞通常傳遞的是變量(字段),委托則是傳遞方法 回調(diào)方法底層代碼定義方法簽名的類型(委托),定義委托成員上層代碼創(chuàng)建方法,創(chuàng)建委托實例,讓需要調(diào)用的方法傳給底層底層通過調(diào)用委托,調(diào)用上層方法 多路廣播可以同時維持多個方法的引用(+=、-=) 委托是類型安全的DelegateA da;DelegateB db;即使函數(shù)簽名相同,也不能執(zhí)行da=db; 委托類型都是密封的(sealed)不能繼承委托(三)-重要成員 Target object類型的屬性,指向回調(diào)函數(shù)所屬的對象實例(對于實例方法來言)引用的方法是靜態(tài)方法時,Target為null MethodSystem.Refl
24、ection.MethodInfo類型的屬性,指向回調(diào)函數(shù) Invoke函數(shù),同步執(zhí)行委托 BeginInvoke開始異步執(zhí)行委托 EndInvoke完成異步執(zhí)行委托(四)- 運算操作myDelegate += new MyDelegate(AddNumber.add2);將一個委托A與另一個委托B連接,將連接后的新委托,在賦給原委托A實質(zhì)是使用的System.Delegate的靜態(tài)方法Combine myDelegate=(MyDelegate)Delegate.Combine(myDelegate, new MyDelegate(AddNumber.add2); myDelegate -=
25、 new MyDelegate(AddNumber.add2);一個委托A的調(diào)用列表中移除另一個委托B的最后一個調(diào)用列表,將移除后的新委托,再賦給原委托A實質(zhì)是使用的System.Delegate的靜態(tài)方法Remove myDelegate = (MyDelegate)Delegate.Remove(myDelegate, new MyDelegate(AddNumber.add2);委托(五)class Test /聲明一個委托 delegate double Function(double x); static void Main() /創(chuàng)建一個委托對象 Function f = new
26、Function(Square); /利用f攜帶的“Square”方法,所以可以用f進行間接調(diào)用Square /也可以寫f(5),這是對f.Invoke(5)的語法簡化 double result = f.Invoke(5); System.Console.WriteLine(result);/25 static double Square(double x) return x * x; 事件(一) .NET的事件模型建立在委托的機制之上。定義事件成員的類型允許類型(或者類型的實例)在某些特定事件發(fā)生時通知其他對象。 事件為類型提供了以下三種能力:允許對象登記該事件;允許對象注銷該事件;允許定
27、義事件的對象維持一個登記對象的集合,并在某些特定的事件反生時通知這些對象。事件(二)/聲明一個委托public delegate void ComingEvevtHander(object sender, EventArgs e);/ 老鼠public class Mouse /此方法原型與ComingEvevtHander委托匹配 public void Speak(Object sender, EventArgs e) Console.WriteLine(貓來了,我要逃跑了!); 事件(三)/貓public class Cat /聲明一個事件 public event ComingEvev
28、tHander Coming; /觸發(fā)事件 public void OnComing(EventArgs e) if (Coming != null) Coming(this, e); 事件(四)public class Test static void Main() /初始化一只貓 Cat cat = new Cat(); /初始化一只老鼠 Mouse mouse = new Mouse(); /注冊事件 cat.Coming += new ComingEvevtHander(mouse.Speak); /貓來了 /調(diào)用注冊的方法,輸出:貓來了,我要逃跑了! cat.OnComing(Eve
29、ntArgs.Empty); 流程控制三種基本流程控制分類常用順序普通代碼分支If else、switch case循環(huán)For、do while、whileIf else(一)If語句語法:if(布爾條件)/語句。布爾條件假真/語句。If else(二)If else語句語法:if(布爾條件) /語句1。else /語句2。布爾條件真/語句1。假/語句2。If else(三)If else語句語法:if(布爾條件1) /語句1。else if(布爾條件2) /語句2。布爾條件1真/語句1。假/語句2。布爾條件2真假If else(三)static void Main(string args)
30、bool isTrue = true; if (isTrue) /執(zhí)行 System.Console.WriteLine(true); if (!isTrue) /不執(zhí)行 System.Console.WriteLine(true); else if(true) /執(zhí)行 System.Console.WriteLine(false); Switch case(一)Switch case是多分支選擇語句,用來實現(xiàn)多分支選擇結(jié)構(gòu)。適合于從一組互斥的分支中選擇一個來執(zhí)行。類似于if語句,但switch語句可以一次將變量與多個值進行比較,而不是僅比較一個。switch參數(shù)后面跟一組case 子句,如果
31、switch參數(shù)中的值與某一個case 后面的判斷式相等,就執(zhí)行case 子句中的代碼。執(zhí)行完后用break語句標(biāo)記每個case 代碼的結(jié)尾,跳出switch語句;Switch case(二)也可在switch語句中包含一個default語句,當(dāng)所有case 中的常量表達式的值都沒有與switch中表達式的值相等,就執(zhí)行default子句中的代碼。default子句可有可無,一個switch語句中有且僅有一個default分支。case后的值必須是常量表達式,不允許使用變量。case 子句的排放順序無關(guān)緊要; default子句也可放到最前;任何兩個case 的值不能相同.Switch cas
32、e(三)參數(shù)語句1語句2語句3語句n后續(xù)代碼。執(zhí)行流程case 1 case 2 case 3 case nSwitch(參數(shù))Switch case(四)class Program static void Main(string args) DateTime now = DateTime.Now; DayOfWeek week = now.DayOfWeek; switch (week) case DayOfWeek.Saturday: Console.WriteLine(休息); break; case DayOfWeek.Sunday: Console.WriteLine(休息); br
33、eak; default: Console.WriteLine(上班); break; class Program static void Main(string args) DateTime now = DateTime.Now; DayOfWeek week = now.DayOfWeek; switch (week) case DayOfWeek.Saturday: case DayOfWeek.Sunday: Console.WriteLine(休息); break; default: Console.WriteLine(上班); break; 合并兩個casefor(一)for 語句
34、用來依據(jù)特定條件來多次重復(fù)執(zhí)行某些代碼。語法如下:for(初始化;條件表達式;結(jié)束一次循環(huán)的后續(xù)操作)/一些代碼/后續(xù)代碼for(二)執(zhí)行流程:真假在步驟3中一般做些自增等操作以能影響步驟2的操作,使循環(huán)得以繼續(xù)或者終止for(三)class Test static void Main() for (int i = 0; i 100; i+) System.Console.WriteLine(i); while & do while(一) while循環(huán)的一般形式為:while(條件) /這個條件為布爾表達式循環(huán)體語句; 執(zhí)行流程:先判斷條件(即布爾表達式的值),如為真便重復(fù)執(zhí)行循環(huán)體
35、語句;直到條件為假時才結(jié)束循環(huán),并繼續(xù)執(zhí)行循環(huán)程序外的后續(xù)語句。while & do while(二)class Test static void Main() int i = 0; while (i 10) System.Console.WriteLine(i); i+; while & do while(三) do-while循環(huán)的一般格式為:do/循環(huán)體語句;while(測試條件); 執(zhí)行流程:先執(zhí)行循環(huán)體語句,然后測試while中的條件,如果測試條件為true,就再次執(zhí)行循環(huán)體語句,直到測試結(jié)果為false時,就退出循環(huán)。while & do while(四)class Test static void Main() int i = 0; do System.Console.WriteLine(i); i+;/這個while條件后面是有分號的,是必須的 while (i 10); while & do while(五) do-while與while的不同之處在于:do-while它是先執(zhí)行循環(huán)中的語句,然后再判斷條件是否為真,如果為真則繼續(xù)循環(huán),如果為假則終止循環(huán)。因此對于do-wh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版環(huán)保項目臨時工勞動合同4篇
- 基于2025年度計劃的環(huán)保項目合作協(xié)議3篇
- 2025年智能水電表更換與數(shù)據(jù)采集服務(wù)合同4篇
- 2025年度個人退房協(xié)議書范本(適用于商業(yè)地產(chǎn))4篇
- 二零二五版建筑工程公司資質(zhì)借用與施工監(jiān)督服務(wù)協(xié)議3篇
- 二零二五年度商業(yè)綜合體場地租賃合同范本6篇
- 專利授權(quán)事務(wù)全權(quán)委托合同書版B版
- 2025年度排水溝施工安全協(xié)議書范本
- 2025種植蓮藕池塘承包與水肥一體化管理合同3篇
- 二零二五年度農(nóng)業(yè)企業(yè)財務(wù)風(fēng)險控制出納人員擔(dān)保合同3篇
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2024-2025學(xué)年八年級上學(xué)期1月期末物理試題(含答案)
- 商場電氣設(shè)備維護勞務(wù)合同
- 2023年國家公務(wù)員錄用考試《行測》真題(行政執(zhí)法)及答案解析
- 2024智慧醫(yī)療數(shù)據(jù)字典標(biāo)準(zhǔn)值域代碼
- 年產(chǎn)12萬噸裝配式智能鋼結(jié)構(gòu)項目可行性研究報告模板-立項備案
- 【獨家揭秘】2024年企業(yè)微信年費全解析:9大行業(yè)收費標(biāo)準(zhǔn)一覽
- 醫(yī)療器械經(jīng)銷商會議
- 《±1100kV特高壓直流換流變壓器使用技術(shù)條件》
- 1-1 擁抱夢想:就這樣埋下一顆種子【2022中考作文最熱8主題押題24道 構(gòu)思點撥+范文點評】
- 《風(fēng)電場項目經(jīng)濟評價規(guī)范》(NB-T 31085-2016)
評論
0/150
提交評論