程式设计(二)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《程式设计(二)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程式 设计 课件
- 资源描述:
-
1、2022/11/14程式設計(二)C#programming1第3章:Visual C#2008資料型別林佩蓉 老師 弘光科技大學資訊工程學系九十七學年度第二學期2022/11/14程式設計(二)C#programming2本章大綱l3-1:共通型別系統(Common Type System)介紹l3-2:變數(Variable)與常數(Constant)介紹l3-3:Visual C#2008關鍵字l3-4:Visual C#2008運算子l3-5:is和as運算子l3-6:資料型別種類(Data types class)l3-7:var匿名型別(Anonymous Types)l3-8:e
2、num、struct、Nullable資料型別介紹l3-9:資料型別的轉換方法2022/11/14程式設計(二)C#programming33-1:共通型別系統(Common Type System)介紹l3-1-1:CLR、CTS與CLS三者關係l3-1-2:實值型別與參考型別(Value Type&Reference Type)l3-1-3:裝箱與拆箱(Boxing&Unboxing)l3-1-4:隱含轉換&明確轉換(Implicit conversion&Explicit conversion)2022/11/14程式設計(二)C#programming43-1-1:CLR、CTS與CL
3、S三者關係l共通語言執行時期環境(Common Language Runtime,CLR)是.NET Framework中最基本的部份,包含程式碼的編譯安全性的控管等。l共通型別系統(Common Type System,CTS)是被用於.NET Framework上所使用的每一種語言。l共通語言規格(Common Language Specification,CLS)是用來描述不同語言(包含:VB,C#C+等)的共同特色。CLS用CTS來定義語言的資料型別:lIntergerVB /int C#(System.Int32型別)2022/11/14程式設計(二)C#programming53-
4、1-2:實值型別與參考型別l實值型別(Value Type):宣告實值型別的變數會儲存資料。指派一個實值型別變數給其他實值型別變數,會複製所包含的值,常見C#實值型別如:byte、int、double、bool、char等等。l參考型別(Reference Type):宣告參考型別的變數是儲存實際資料的參考。參考型別變數的指派會複製物件的參考,但不會複製物件本身。C#常見的參考型別如:類別、介面、字串、陣列、委派、指標等等。2022/11/14程式設計(二)C#programming6l3-1-2:實值型別與參考型別l在執行.NET的程式時,對於不同型別,CLR(Common Language
5、 Runtime)會在不同的地方分配資源空間。對於實值型別(Value Type),當宣告一個變數時,CLR會在Stack(堆疊)中配置一塊空間,設定該變數的值時,其值也直接存放於該空間中,如右圖:l而對於參考型別(Reference Type),CLR則在Stack中配置一塊存放記憶體位址的空間,在初始化該型別的實體時(ex:new),則在Heap(堆積)上配置該型別所需的空間,再將該空間的位址傳回給存放在Stack中的那塊空間,如下圖:l這些由CLR自動配置與管理的記憶體,被稱為Managed資源;反之,不受CLR管理的便被稱為Unmanaged資源(ex:Stream、與資料庫的連結、C
6、OM物件等)。2022/11/14程式設計(二)C#programming73-1-2:實值型別與參考型別lStack記憶體:lStack記憶體通常用來存放方法內所宣告的區域變數或參數,當方法執行完畢後,會自動從Stack中被釋放(移除)。lHeap記憶體:lHeap記憶體通常用來存放方法內所宣告的物件,也就是當您使用new關鍵字將類別實體化為物件時,該物件的參考記憶體位置會存放在Stack,而物件本身會存放在Heap記憶體,二個不同的變數能夠參考相同的物件。2022/11/14程式設計(二)C#programming8實值型別 P3-5l如果建立兩個實值型別的變數 i 和 j(如下所示),那
7、麼 i 和 j 彼此之間完全無關聯:lint i=10;int j=20;它們的記憶體位置並不相同:如果變更其中一個變數的值,另一個變數當然不會受到影響。2022/11/14程式設計(二)C#programming9參考型別 P3-6lEmployee ee1=new Employee();lEmployee ee2=ee1;l現在,由於在 C#中類別是參考型別,因此 ee1 也稱為 Employee 的參考。上述兩行程式碼中的第一行會在記憶體中建立 Employee 的執行個體,並且將 ee1 設定為參考這個執行個體。當您將 ee2 設為等於 ee1 時,它會包含記憶體中這個類別參考的複本。
8、此時如果變更 ee2 上的屬性,ee1 上的屬性將會反映這些變更,這是因為這兩個都指向記憶體中的同一個物件,如下所示:2022/11/14程式設計(二)C#programming103-1-3:裝箱與拆箱(Boxing&Unboxing)l裝箱(Boxing):將實值型別 轉換成 參考型別的過程l拆箱(Unboxing):將參考型別 轉換成 實值型別的過程2022/11/14程式設計(二)C#programming113-1-4:隱含轉換&明確轉換 (Implicit conversion&Explicit conversion)ch03ImplicitExplicitConversionl隱
9、含轉換就是將值域範圍較小的資料型別轉換成值域範圍較大的資料型別,由於此種轉換方式是由系統自動處理,故又稱自動轉換,並且在轉型之後資料不會因此而失真。(小大)P3-322022/11/14程式設計(二)C#programming123-1-4:隱含轉換&明確3-1-4:隱含轉換&明確轉換 (Implicit conversion&Explicit conversion)ch03ImplicitExplicitConversionl明確轉換就是將值域範圍較大的資料型別強制轉換成值域範圍較小的資料型別,又稱為強制轉換,在轉型之後資料通常會有失真的問題。(大小)lCast:無條件捨去lConvert:
10、四捨五入2022/11/14程式設計(二)C#programming133-2:變數(Variable)與常數(Constant)介紹l3-2-1:變數(Variable)l3-2-2:常數(Constant)l3-2-3:變數與常數命名技巧2022/11/14程式設計(二)C#programming143-2-1:變數(Variable)P3-9P3-10l變數(Variable)是指程式中資料最基本的儲存單位,是記憶體中用來存放資料的一塊儲存區域。l實體化變數(Instance Variables)l類別變數(Class Variables)l區域變數(Local Variables)l參
11、數變數(Parameters)l變數的宣告方式存取修飾詞資料型別變數名稱;public int 依C#命名規則 private long protected float internal char2022/11/14程式設計(二)C#programming15成員的存取限制lpublic:公用成員,所有其它(非此類別)的函式或類別皆可以存取此成員。lprivate:私有成員,所有其它(非此類別)的函式或類別皆不可以存取此成員。lprotected:保護成員,所有其它(非此類別)的函式或類別皆不可以存取此成員,但繼承此類別的類別(子類別)可以存取此成員。2022/11/14程式設計(二)C#pr
12、ogramming163-2-1:變數(Variable)ch03Variable_ex類別變數區域變數參數變數2022/11/14程式設計(二)C#programming173-2-2:常數(Constant)ch03Constant_exl常數(Constant)是指用來存放固定不變的數值,常見的典型範例就是圓周率為3.14此值是不會變動的,這種永遠不會變動的值就可以宣告成常數來使用,其他常見的例子有性別、血型、星座、生肖、出生年月日等,這些資訊對於個人而言都是固定不會變動的。存取修飾詞 const 資料型別變數名稱 =預設值;public const double PI =3.14;20
13、22/11/14程式設計(二)C#programming183-2-2:常數(Constant)ch03Constant_ex2022/11/14程式設計(二)C#programming193-2-3:變數與常數命名技巧l常用的命名法有以下兩種:l巴斯卡(Pascal)命名法l駱駝(Camel)命名法2022/11/14程式設計(二)C#programming203-3:Visual C#2008關鍵字l關鍵字(Keyword)就是對編譯器具有特殊意義的文字所組成的保留識別項,這些保留識別項不能當成變數(Variable)來使用,主要是留給程式語言指令所使用,故又稱保留字(Reserved W
展开阅读全文