




已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C#基礎(chǔ)知識一,西源軟件培訓(xùn)中心,目標(biāo),了解C#概述 講解”Hello World”程序 掌握數(shù)據(jù)類型 掌握變量和參數(shù),C#概述,“威力越強的語言越難掌握,越容易的語言功能就越薄弱”,這句話道出了C+和Visual Basic的困境,也因為如此,微軟開發(fā)了下一世代的程式語言C#,兼具了“好用”與“強大功能”。,C#語言的優(yōu)點,對于XML和Web Service等網(wǎng)絡(luò)應(yīng)用程式提供完整的支援。 .NET Framework提供完整的函數(shù)庫,對于窗體程序的開發(fā)相當(dāng)便捷。 語法類似于Java和C+語言的結(jié)合,以物件導(dǎo)向為基礎(chǔ)的程式語言。 程序開發(fā)十分便捷 1.語法高度相容于C+和Java,并移出復(fù)雜的語法架構(gòu),降低學(xué)習(xí)障礙。 2.采用記憶體管理(Memory Management)以垃圾回收(Garbage Collection)機制。 支持跨平臺。 1.在支援.NET平臺的環(huán)境下皆可執(zhí)行。,C#語言特點,簡單易學(xué): 與C/C+比較起來,C#是一種簡單的語言。例如在C#語言中沒有指標(biāo),所有與記憶體相關(guān)的控制行為,C#都會自動幫程式設(shè)計處理。 先進: 由于C#語言與其他主流語言比較起來,研發(fā)時間較晚,因此佔有技術(shù)上的優(yōu)勢,例如異常處理(Exception)與記憶體自動管理等技術(shù),都比C+或Java語言來得先進。 組件、元件導(dǎo)向語言: C#是組件導(dǎo)向的程式語言,更是元件導(dǎo)向式的語言,對于開發(fā)大型程式、視窗程序,或是網(wǎng)路程序皆游刃有余。(注:軟件業(yè)中的元件這個詞,通常是指以標(biāo)準(zhǔn)化方式 ) 高度整合性: 可以輕易的將C#與其他語言所寫成的程式進行整合,例如C/C+、VB等等。,C#語言與C/C+/Java區(qū)別,基本語法相似 安全檢查機制 指針-地址傳遞 數(shù)組的使用,基本語法相似,對于資料處理、邏輯判斷、程式流程等基本的程式操作方式,C#C/C+/Java都具有高度的程式語法相容性。,基本語法相似,利用C+與C#兩種語言來打印出九九乘法表。,using System; namespace NineNine class Class1 static void Main(string args) for(int a=1;a10;a+) for(int b=1;b10;b+) Console.Write(“0*1=2 “,a,b,a*b); Console.Write(“n“); ,#include using namespace std; void main( ) for(int a=1;a10;a+) for(int b=1;b10;b+) cout a “*“ b “=“ a*b “ “; cout endl; ,安全檢查機制,C#會自動將程式中的資料做檢查及適當(dāng)?shù)霓D(zhuǎn)換,大幅降低程序執(zhí)行出錯的機會,并減輕C#軟件工程師的負擔(dān)。,int a; a = a+1;,int a = 2003; byte b = (byte) a;,安全檢查機制可以檢測出C#程式中使用到未初始化變數(shù)的情況,并于編譯程式碼時指出錯誤地點。,變量a雖然經(jīng)過聲明,但是并沒有初始化,因此會發(fā)生邏輯錯誤。,由于變量a超出了byte型別可接受的范圍,因此我們可以在C#的程式碼捕捉這個例外錯誤來進行處理。,Int整數(shù)變量a可表示的數(shù)值大于byte的變量,因此在轉(zhuǎn)換的時候會發(fā)生程式執(zhí)行錯誤。,指針-地址傳遞,C#語言并無指針的設(shè)計,但其依然保有類似指針語法,下面我們透過簡單的程序范例,來比較C+與C#語言對于指針應(yīng)用上的差別。,using System; namespace CallSwap class Class1 static void Main(string args) int a=10; int b=20; Console.WriteLine(“Before: a=0,b=1“,a,b); swap(ref a,ref b); Console.WriteLine(“After: a=0,b=1“,a,b); static void swap(ref int a,ref int b) int temp = a; a = b; b = temp; ,#include using namespace std; void swap(int *a,int *b) int temp = *a; *a = *b; *b = temp; void main( ) int a=10; int b=20; cout “Before: a=“ a “ b=“ b endl; swap( ,數(shù)組的使用,C#中的數(shù)組是一種特別的數(shù)據(jù)類型,而在C/C+語言中,數(shù)組是指針的一種使用特例。,using System; namespace DoubleMatrix class Class1 static void Main(string args) int , Matrix = new int3,3; for(int a=0;a3;a+) for(int b=0;b3;b+) Matrixa,b = (a+1)*(b+1); for(int a=0;a3;a+) for(int b=0;b3;b+) Console.Write(“0 “,Matrixa,b); Console.Write(“n“); ,#include using namespace std; void main( ) int *Matrix; Matrix = new int*3; for(int i=0;i3;i+) Matrixi = new int3; for(int a=0;a3;a+) for(int b=0;b3;b+) Matrixab = (a+1)*(b+1); for(int a=0;a3;a+) for(int b=0;b3;b+) cout Matrixab “ “ ; cout endl; ,使用VS .NET 2005創(chuàng)建“Hello World”應(yīng)用程序-1,單擊“開始” “所有程序” “Microsoft Visual Studio .NET 2005” “Microsoft Visual Studio .NET 2005” 此時將打開 VS.NET 2005 的起始頁 要創(chuàng)建 C# 控制臺應(yīng)用程序,請從列表中選擇 “創(chuàng)建建”“項目”。此時將打開“新建項目”窗口 選擇“Visual C# 項目”作為項目類型,選擇“控制臺應(yīng)用程序”作為模板,使用VS .NET 2005創(chuàng)建“Hello World”應(yīng)用程序-2,輸出,Console.WriteLine(“Hello World“);,使用VS .NET 2005創(chuàng)建“Hello World”應(yīng)用程序-3,HelloWorld.csproj AssemblyInfo.cs Program.cs,“Hello World”應(yīng)用程序文件,編譯和執(zhí)行 C# 程序,要生成 C# 項目,請從菜單中選擇“生成” “生成解決方案” 。 該過程將編譯項目中包括的所有文件,編譯結(jié)果顯示在“輸出”窗口中。 如果結(jié)果顯示“生成: 1 成功或最新,0失敗,0被跳過”,則說明已經(jīng)成功生成,然后即可交付該應(yīng)用程序。,編譯和執(zhí)行 C# 應(yīng)用程序,.要運行剛才生成的應(yīng)用程序,請從菜單中選擇“調(diào)試”“開始執(zhí)行(不調(diào)試)” 。 輸出結(jié)果顯示在 VS.NET 控制臺窗口中 。,C# 應(yīng)用程序文件夾結(jié)構(gòu),Visual Studio .NET 2005 創(chuàng)建一個與項目同名的文件夾,此處為“HelloWorld” 。 該文件夾包含項目文件“HelloWorld.csproj”和其他關(guān)聯(lián)文件。 每個新項目都創(chuàng)建了 bin、obj和Properties 三個文件夾。 Bin和obj這兩個文件夾下都有一個 Debug 子目錄,其中包含可執(zhí)行文件 HelloWorld.exe 在“解決方案資源管理器”中啟用“顯示所有文件”選項,可查看“HelloWorld”項目的結(jié)構(gòu) 。,Hello World 程序,using System; class HelloWorld static void Main( ) Console.WriteLine(“Hello, World!”); / Hello World 程序示例,HelloWorld.cs,講解”Hello World”程序,第 1 行:,1: using System;,using 關(guān)鍵字 1.用來引用.NET框架類庫中的資源 2.通常在程序文件的開頭使用 3.如果程序中需要多種資源,可以使用多次using System 命名空間 System命名空間提供了構(gòu)建應(yīng)用程序所需的系統(tǒng)統(tǒng)能的訪問。,講解”Hello World”程序,第 2,3,8 行:,2: class HelloWorld 3: 8: ,類 1.在C#或其他面向?qū)ο笳Z言中,需要編寫類。 2.使用關(guān)鍵字class定義一個類,類的內(nèi)容放在一對 中。 3.示例中定義了一個名為HelloWorld的類。,講解”Hello World”程序,第 4,5,7 行:,4: static void Main( ) 5: 7: ,Main 方法 1.Main 方法是應(yīng)用程序的入口點,編譯器將由該處開始執(zhí)行程序。 2.方法體也放在一對 中。 3.每個C#的應(yīng)用程序都必須包含Main方法。 4. static表示Main方法是一個全局方法。 5.void表示Main方法沒有任何返回值,即返回值是空。 6.參數(shù)放在小括號中定義。此處括號內(nèi)沒有內(nèi)容,表明Main方法沒有任何參數(shù)。,講解”Hello World”程序,第 6 行:,6: Console.WriteLine(“Hello, World!”);,語句 1.在C#中要執(zhí)行的指令。 2.語句之間用;分隔,編譯器通過分號來區(qū)分多個語句。 3.使用大括號 標(biāo)識某個代碼塊的開始和結(jié)束,從而可以對語句 進行組合。大括號必須成對匹配。 4.HelloWorld程序的主要目的就是在屏幕上顯示字符串。 WriteLine方法用來將字符串寫到標(biāo)準(zhǔn)輸出設(shè)備上。 5.Console代表標(biāo)準(zhǔn)輸出設(shè)備- 屏幕,它屬于System命名空間 6.WriteLine方法是Console類的方法。訪問類或?qū)ο蟮姆椒ㄊ褂命c取符.來完成。 7.字符串用雙引號“ ”表示。 8.字符串“Hello,World”是WriteLine方法的參數(shù),表示屏幕輸出的內(nèi)容。,講解”Hello World”程序,第 9 行:,9: /Hello World 程序示例,注釋 1.單行注釋 / 2.多行注釋/* 和 */ 3. XML注釋功能 /,數(shù)據(jù)類型,C#的數(shù)據(jù)類型可以分為:值類型、引用類型。 值類型包括簡單類型(如字符型、浮點型和整數(shù)型等內(nèi)置數(shù)據(jù)類型)、集合類型和結(jié)構(gòu)型。引用類型包括類類型、接口類型、代表類型和數(shù)組類型。 值類型和引用類型的不同之處是值類型的變量值直接包含數(shù)據(jù),而引用類型的變量把它們的引用存儲在對象中。對于引用類型的變量,完全有可能讓兩個不同的變量引用同一個對象,這樣一來,對其中一個變量的操作就會影響到被另一個變量引用的對象。對于值類型的變量而言,每一個變量有它們自己的數(shù)值,因此對其中一個變量的操作不可能影響到另外一個變量。,值類型-簡單類型,C#的內(nèi)置數(shù)據(jù)類型大致可劃分為: 邏輯型: bool 文本型: char 整 型:byte,sbyte, short,ushort, int, uint, long, ulong 浮點型: float, double, decimal 。,整型,C#中支持8種整型:sbyte、byte、short、ushort、int、 uint、 long、ulong 。 Sbyte:代表有符號的8位整數(shù),數(shù)值范圍從-128 127 Byte:代表無符號的8位整數(shù),數(shù)值范圍從0255 Short:代表有符號的16位整數(shù),范圍從-32768 32767 ushort:代表無符號的16位整數(shù),范圍從0 32767 Int:代表有符號的32位整數(shù),范圍從-2147483648 2147483648 uint:代表無符號的32位整數(shù),范圍從0 4294967295 Long:代表有符號的64位整數(shù),范圍從 -9223372036854775808 9223372036854775808 Ulong:代表無符號的64位整數(shù),范圍從 0 18446744073709551615。,char,char:代表無符號的16位整數(shù),數(shù)值范圍從065535。 Char類型的值對應(yīng)于統(tǒng)一字符編碼標(biāo)準(zhǔn)(Unicode) 的字符集。 Char類型與其他整數(shù)類型相比有以下兩點不同之處: 1、沒有其他類型到char類型的隱式轉(zhuǎn)換。即使是對于sbyte,byte和ushort這樣能完全使用char類型代表其值的類型, sbyte,byte和ushort到char的隱式轉(zhuǎn)換也不存在。 2、char類型的常量必須被寫為字符形式,如果用整數(shù)形式,則必須帶有類型轉(zhuǎn)換前綴。比如(char)10 賦值形式有三種: 1.char chsomechar=“A”; 2.char chsomechar=“x0065”; 十六進制 3.char chsomechar=“u0065 ; unicode表示法。,特殊字符和轉(zhuǎn)義字符,有些特殊字符無法直接放在引號中,此時要表示這些字符,必須使用轉(zhuǎn)義符。,浮點類型,C#支持兩種浮點類型:float和double。 Float型所能表示的值的范圍大約可以從1.5*10-453.4*1038,精確到小數(shù)點后面7位。Double型所能表示的值的范圍大約可以從5.0*10-3241.7* 10308,精確到小數(shù)點后面15位或16位。 如果二元操作中的其中一個操作數(shù)為浮點類型,那么另外一個操作數(shù)是整型或浮點類型,運算規(guī)則如下: 1、如果其中一個操作數(shù)是整型,則操作數(shù)被轉(zhuǎn)換為另一個操作數(shù)的浮點數(shù)類型; 2、如果操作數(shù)之一為double,則另一操作數(shù)也被轉(zhuǎn)換成double類型,運算以double類型的精度和取值范圍進行,并且所得結(jié)果也為double類型; 3、否則,運算至少將以float類型的取值范圍和精度進行,并且所得結(jié)果也為float型。,小數(shù)(decimal)類型,小數(shù)類型非常適用于金融和貨幣運算。數(shù)值范圍從1.0*10-287.9* 1028,精確到小數(shù)點后面28位。 如果二元操作中的其中一個操作數(shù)是小數(shù)類型,那么另外一個從操作數(shù)是整型或小數(shù)類型。整型在運算前被轉(zhuǎn)化為小數(shù)類型數(shù)。 如果一個小數(shù)類型的算術(shù)運算產(chǎn)生了一個對于小數(shù)類型的格式來說太小的值,操作的結(jié)果將會變成0。 如果一個小數(shù)類型的算術(shù)運算產(chǎn)生了一個對于小數(shù)類型的格式來說太大的值,就會觸發(fā)溢出錯誤。 小數(shù)類型較浮點類型而言,具有更大的精確度,但是數(shù)值范圍相對小了很多。將浮點類型的數(shù)向小數(shù)類型的數(shù)轉(zhuǎn)化時會產(chǎn)生溢出錯誤,將小數(shù)類型的數(shù)向浮點類型的數(shù)轉(zhuǎn)化時會造成精確度的損失。因此,兩種類型不存在隱式或顯式轉(zhuǎn)換。,布爾型,布爾型:值為true或false。沒有標(biāo)準(zhǔn)能實現(xiàn)布爾類型和其他類型的轉(zhuǎn)換。,枚舉類型,我們經(jīng)常需要從多個相關(guān)的值中進行選取,如 一種天氣:晴、陰、雨、雪、霧。 一周的某一天:Monday, Tuesday, Sunday 。 一年的某個月:Jan, Feb, Mar Dec 。 一種對齊方式:左對齊、右對齊、居中對齊、兩端對齊。 那我們怎么樣實現(xiàn)對這些數(shù)據(jù)的選取,?,枚舉類型,枚舉類型是一組被命名的數(shù)字常量,即:一個枚舉類型中包含了多個相關(guān)的數(shù)字常量,且每個常量都被賦予了一個容易記憶的“名字” 使用enum關(guān)鍵字創(chuàng)建枚舉類型 枚舉類型:枚舉類型的元素使用的類型只能是long、int、short、byte。默認類型是int。 如果不賦值,默認第一個元素的值是0,每一個連續(xù)的元素按1遞增。 可以強制定義其他類型,如:enum monthnames : byteJanuary ,February,March;,枚舉類型,創(chuàng)建枚舉類型。,enum Weather Sunny, /默認值0 Cloudy, /默認值1 Rain, /默認值2 Snow, /默認值3 fog /默認值4 ,引用枚舉成員。,Weather bj ; bj = Weather.Sunny; /顯示結(jié)果 Console.WriteLine(bj); / 顯示Sunny,而不是數(shù)字0,枚舉類型,也可以枚舉成員明確賦值,enum Month Jan = 1, Feb = 2, Mar = 3, Dec = 12 ,結(jié)構(gòu)類型,結(jié)構(gòu)類型也是一種值類型,使用它的目的是用于創(chuàng)建小型的對象, 用以節(jié)省內(nèi)存.下面的例子表示一個使用byte類型的4個字段的IP地址。 using System; Struct IP /聲明結(jié)構(gòu) public byte b1,b2,b3,b4; Class test public static void Main() IP myIP; myIP.b1=192; myIP.b2=168; myIP.b3=1; myIP.b4=101; Console.Write(“0.1.”, myIP.b1, myIP.b2); Console.Write(“0.1”, myIP.b3, myIP.b4); ,引用類型 -1,引用類型包括類類型、接口類型、代表類型和數(shù)組類型。 類類型 類類型定義了一種數(shù)據(jù)結(jié)構(gòu),這個數(shù)據(jù)結(jié)構(gòu)中包含了數(shù)據(jù)成員(如常量、字段和事件等),函數(shù)成員(如方法、屬性、索引、操作、構(gòu)造函數(shù)和析構(gòu)函數(shù)等)和嵌套類型。支持繼承。 對象類型 對象類型是其他所有類型最終的基礎(chǔ)類型。在C中每一種類型都直接或者間接的源于object這個類類型。 字符串類型 字符串類型是直接從object中繼承而來的密封類。String類型的值可以寫成字符串文字的形式。,引用類型 -2,接口類型 一個接口聲明一個只有抽象成員的引用類型,接口僅僅存在方法標(biāo)志,但沒有執(zhí)行代碼。當(dāng)定義一個類時,如果類從接口派生,可以派生自多重接口;但是如果類從類派生,就只能從一個類派生。 聲明方法如例:interface iface void showmyface(); 代表類型 代表引用一種靜態(tài)的方法或者對象實例,引用該對象的實例方法。與其接近的是c/c+中的指針,但指針只能訪問靜態(tài)的函數(shù),代表既能訪問靜態(tài)的方法,也能訪問實例的方法。,引用類型 -3,數(shù)組 數(shù)組是包含一串變量的數(shù)據(jù)結(jié)構(gòu)。數(shù)組變量也稱做數(shù)組元素,它們具有相同的類型,這種類型也稱做數(shù)組元素類型。數(shù)組的元素類型可以是任何類型,包括數(shù)組類型。數(shù)組用下標(biāo)確定每一個數(shù)組元素的索引號。只有一個下標(biāo)的數(shù)組稱為一維數(shù)組,多于一個下標(biāo)的數(shù)組稱為多維數(shù)組。 例:int a=0,2,4,6,8; 等價于int a=new int 0,2,4,6,8; 也可以這樣初始化:a0=0; a1=2; a2=4; a3=6; a4=8; int a; /int型的一維數(shù)組 int, a; /int型的二維數(shù)組 int, a; /int型的三維數(shù)組 int a; /int型的數(shù)組的數(shù)組 inta; /int型的數(shù)組的數(shù)組的數(shù)組,引用類型 -4,數(shù)組的每個維數(shù)的長度不是數(shù)組類型的一部分,維數(shù)的長度是在數(shù)組創(chuàng)建語句中指定的,而不是在數(shù)組類型中指定的,例如: int, a3=new int10,20,30; a3是是一個數(shù)組變量, int, 沒有指定數(shù)組的長度,數(shù)組 創(chuàng)建語句new int10,20,30才指定。 下面的例子創(chuàng)建一個數(shù)組的數(shù)組: int J=new int3; J0=new int 1,2,3; J1=new int 1,2,3,4,5,6; J2=new int 1,2,3,4,5,6,7,8,9;,變量和參數(shù),變量扮演存儲的角色。每個變量有一個數(shù)據(jù)類型,這個類型決定那些數(shù)據(jù)可以被存儲在這個變量中。局部變量是在方法.屬性或索引聲明的變量。一個局部變量通常通過指定的類型名稱和說明符來定義,它指定了變量名稱和一個任意的初始值,例如: int a; int b = 1; 也可以一個局部變量聲明包括多個說明符。例如: int a,b = 1;,聲明并初始化變量,第 1步:聲明變量 作用:通過聲明變量,可以在內(nèi)存中為 該變量申請存儲空間。 語法: 類型 變量名;,int numberOfVisitors; string bear;,聲明并初始化變量,第 2步:初始化變量 作用:給變量分配初值 語法: 變量名 = 初值;,string bear; bear = “Grizzly”; / 聲明和初始化一步完成 string bear = “Grizzly”;,聲明并初始化變量,注意事項: bool 只能取2個值:true 或 false 。 char 表示單個Unicode字符,用表示使用后綴。,bool isOpen = 0; / 錯誤 bool isOpen = false; char c = A; decimal balance = 3400.20; /錯誤 decimal balance = 3400.20M;,聲明并初始化字符串,字符串表示任意長度的Unicode字符序列 字符串使用“”表示 可以使用轉(zhuǎn)義字符或verbatim字符,string s = “Hello World“; string filename = “c:trainerReadme.txt”;/錯誤 或 string filename = “c:trainerReadme.txt”;,創(chuàng)建并使用常量,常量是指一旦被初始化,其數(shù)值保持不變的變量 常量通常用來表示有意義的固定數(shù)值,如圓周率 聲明常量時必須對其賦值 語法: const 類型 常量名 = 數(shù)值,const decimal PI = 3.1415926M; /圓周率 const int earthRadius = 6378;/地球半徑,類型轉(zhuǎn)換,相容的數(shù)據(jù)類型可以混合運算。運算中,不同數(shù)據(jù)類型先被自動轉(zhuǎn)換為相同數(shù)據(jù)類型,然后再進行運算。轉(zhuǎn)換時低容量數(shù)據(jù)類型向高容量數(shù)據(jù)類型轉(zhuǎn)換。,short,int,long,float,double,byte,低,高,類型轉(zhuǎn)換,將低容量數(shù)據(jù)類型轉(zhuǎn)換成高容量數(shù)據(jù)類型時,系統(tǒng)自動完成,成為隱式轉(zhuǎn)換。,int x = 123456; long y = x; / 將int隱式轉(zhuǎn)換為long,將高容量數(shù)據(jù)類型轉(zhuǎn)換成低容量數(shù)據(jù)類型時,可能丟失信息,必須使用強制類型轉(zhuǎn)換。,decimal d = 100.99; int x = (int)d; / x的值是100,小數(shù)點后的值被舍棄,類型介紹,C# 是一種強類型語言。每個變量和常量都有一個類型,每個計算為值的表達式也是如此。每個方法簽名為每個輸入?yún)?shù)和返回值指定一個類型。.NET Framework 類庫定義了一組內(nèi)置數(shù)值類型以及表示各種邏輯構(gòu)造的更復(fù)雜的類型,例如文件系統(tǒng)、網(wǎng)絡(luò)連接、對象的集合和數(shù)組及日期。典型 C# 程序使用類庫中的類型,還使用為特定于該程序問題域的概念建模的用戶定義類型。 類型中存儲的信息包括: 該類型的變量所需的存儲空間。 該類型可以表示的最大值和最小值。 該類型包含的成員(方法、字段、事件等)。 該類型所繼承的基類型。 將在運行時為其分配變量內(nèi)存的位置。 允許的運算種類。,類型的轉(zhuǎn)換有那幾種,隱式轉(zhuǎn)換 顯式轉(zhuǎn)換 用戶定義的轉(zhuǎn)換 使用幫助程序類的轉(zhuǎn)換,隱式轉(zhuǎn)換,由于該轉(zhuǎn)換是一種安全類型的轉(zhuǎn)換,不會導(dǎo)致數(shù)據(jù)丟失,因此不需要任何特殊的語法。例如,從較小整數(shù)類型到較大整數(shù)類型的轉(zhuǎn)換以及從派生類到基類的轉(zhuǎn)換都是這樣的轉(zhuǎn)換。 對于內(nèi)置數(shù)值類型,如果要存儲的值無需截斷或四舍五入即可適應(yīng)變量,則可以進行隱式轉(zhuǎn)換。,int num = 2147483647; long bigNum = num;,顯式轉(zhuǎn)換(強制轉(zhuǎn)換),顯式轉(zhuǎn)換需要強制轉(zhuǎn)換運算符。源變量和目標(biāo)變量兼容,但由于目標(biāo)變量的類型大小比源變量?。ɑ蛘吣繕?biāo)變量是源變量的一個基類),因此存在數(shù)據(jù)丟失的風(fēng)險。 如果進行轉(zhuǎn)換可能會導(dǎo)致信息丟失,則編譯器會要求執(zhí)行顯式轉(zhuǎn)換,顯式轉(zhuǎn)換也稱為“強制轉(zhuǎn)換”。強制轉(zhuǎn)換是顯式通知編譯器您打算進行轉(zhuǎn)換且您知道可能會發(fā)生數(shù)據(jù)丟失的一種方式。,double x = 1234.7; int a; a = (int)x;,用戶定義的轉(zhuǎn)換,可以定義一些特殊的方法來執(zhí)行用戶定義的轉(zhuǎn)換,從而使不具有基類派生類關(guān)系的自定義類型之間可以顯式和隱式轉(zhuǎn)換。 C# 允許程序員在類或結(jié)構(gòu)上聲明轉(zhuǎn)換,以便類或結(jié)構(gòu)與其他類或結(jié)構(gòu)或者基本類型進行相互轉(zhuǎn)換。,class SampleClass public static explicit operator SampleClass(int i) SampleClass temp = new SampleClass(); / code to convert from int to SampleClass. return temp; ,使用幫助程序類的轉(zhuǎn)換,若要在不兼容的類型之間進行轉(zhuǎn)換,例如在整數(shù)與 System:.DateTime 對象之間轉(zhuǎn)換,或者在十六進制字符串與字節(jié)數(shù)組之間轉(zhuǎn)換,則可以使用 System:.BitConverter 類、 System:.Convert 類和內(nèi)置數(shù)值類型的 Parse 方法。,形式參數(shù),一個變量在使用前,必須被聲明和指定數(shù)據(jù)類型。形式參數(shù)聲明同樣定義變量。一般形式參數(shù)分為四種。 1.數(shù)據(jù)參數(shù) 2.引用參數(shù) 3.輸出參數(shù) 4.參量參數(shù),數(shù)據(jù)參數(shù)-介紹,數(shù)據(jù)參數(shù)用來做”入”參數(shù)傳遞,一個自變量的數(shù)據(jù)通過他傳遞到方法中,而對參數(shù)的修改不會影響到原始的自變量。數(shù)據(jù)參數(shù)指向它自己在存儲器中的位置,它與變量存儲位置有明確的區(qū)分。次存儲位置通過把拷貝相應(yīng)變量的數(shù)據(jù)來初始化。,數(shù)據(jù)參數(shù)-實例,using System; class Test static void F(int p) Console.WriteLine(“p = 0“, p); p+; static void Main() int a = 1; Console.WriteLine
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC GUIDE 50:2014 RU Safety aspects - Guidelines for child safety in standards and other specifications
- 【正版授權(quán)】 ISO/IEC 23092-3:2025 EN Information technology - Genomic information representation - Part 3: Metadata and application programming interfaces (APIs)
- 生物技術(shù)制藥工藝知識考點解析
- 宜賓一診考試試題及答案
- 儀容儀表考試試題及答案
- 醫(yī)院培訓(xùn)考試試題及答案
- 六一兒童節(jié)棧橋活動方案
- 六一公司參觀活動方案
- 六一創(chuàng)意過山車活動方案
- 六一商場活動方案
- 《供熱計量技術(shù)規(guī)程》JGJ173-2009
- 攝影攝像拍攝合同范本
- 人身損害三期評定規(guī)范
- 2024屆梧州市八年級物理第二學(xué)期期末聯(lián)考試題含解析
- 2024中考道法圖表題專項訓(xùn)練
- 《紅樓夢》飲食文化研究
- 《機械制圖》期末考試題庫388題(含答案)
- 新媒體視頻節(jié)目制作 課件 學(xué)習(xí)領(lǐng)域1 新聞短視頻制作
- 福建省泉州市晉江第一中學(xué)高一物理摸底試卷含解析
- 肝硬化的中醫(yī)護理查房課件
- 音樂(人音全國版)四年級生日快樂變奏曲-2課件
評論
0/150
提交評論