C# Online ! 第八篇:『變數』一定要有『型別』,一定會用到的『型別』有哪些呢?
在第七篇略概的介紹了變數以後,這一篇就要跟各位初心者介紹變數一定要有的『型別』嘍!!本篇跟上一篇可是互相呼應的,所以直接看到這一篇的初心者朋友,可以先看一下第七篇『變數到底是什麼!!?』,才不會"霧煞煞"喔,『型別』可以說是無限多種,加上可以自訂型別,所以再複雜的型別都有,各位初心者朋友們,我們一樣從入門開始,接下來會介紹給大家幾個簡單型別,而這些簡單型別,可是寫程式幾乎一定會用到,也會常常出現的唷!!
先跟大家介紹一下簡單型別的主要功能:
所有的簡單型別 (是 C# 語言所不可缺少的) 都是 .NET Framework System 型別的別名。例如,int 是 System.Int32 的別名。
運算元皆為簡單型別常數的常數運算式會在編譯 (Compilation) 時期評估。
簡單型別可以使用常值 (Literal) 來初始化。例如,'A' 是 char 型別的常值,而 2001 是 int 型別的常值。
這邊有提到int這個型別,就跟大家先介紹一下int這個簡單型別吧!
int
帶正負號的 32 位元整數
-2,147,483,648 至 2,147,483,647
簡單的說,int 這個型別就是指數字從 -2,147,483,648 到 2,147,483,647 之間的整數,所以當我們宣告一個變數它的型別是int的時候,就代表這個我們要給變數值的時候,必須是在-2,147,483,648 到 2,147,483,647 之間的整數,這也是型別的特點之一,因為有型別,讓我們可以更快速的知道該給予變數的值必須是什麼樣子。(例如看到某變數的型別是int,就會知道要給它的值是整數,而不會給它一串文字。)
接下來給大家介紹,整數類資料型別:
型別 | NET Framework System型別 | 允許值的範圍 | 正負整數 |
int | System.Int32 | -2,147,483,648 至 2,147,483,647 | 帶正負號的 32 位元整數 |
sbyte | System.SByte | -128 至 127 | 帶正負號的 8 位元整數 |
byte | System.Byte | 0 至 255 | 不帶正負號的 8 位元整數 |
short | System.Int16 | -32,768 至 32,767 | 帶正負號的 16 位元整數 |
ushort | System.UInt16 | 0 至 65,535 | 不帶正負號的 16 位元整數 |
uint | System.UInt32 | 0 至 4,294,967,295 | 不帶正負號的 32 位元整數 |
long | System.Int64 | -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 | 帶正負號的 64 位元整數 |
ulong | System.UInt64 | 0 至 18,446,744,073,709,551,615 | 不帶正負號的 64 位元整數 |
char | System.Char | U+0000 至 U+ffff | Unicode 16 位元字元 |
除了整數類資料型別,還有一些常用的內建型別:
bool
bool System.Boolean 的別名。它是用來宣告儲存布林值 true 和 false 的變數(看到某變數的型別是bool,就會知道要給它的值是true 或者是false ,而不會給它一個數字。)
string
string 型別表示零個或多個 Unicode 字元序列。string 是 .NET Framework 中 String 的別名。(看到某變數的型別是string,就會知道要給它的值是字串。)
介紹了這些簡單型別後,小弟先舉個簡單的例子,各位初心者朋友們看了應該會更清楚:
看了這個簡單的例子,有沒有對於變數與型別更清楚了一點呢?
這邊還要跟初心者們簡述一下C#的型別,C#的型別共分為三種類別,分別是以下三種:
- 實值型別
- 參考型別
- 指標型別
實值型別 (Value Type) 的變數會儲存資料,而參考型別 (Reference Type) 的變數則儲存實際資料的參考。參考型別也可視為物件。指標型別 (Pointer Type) 只能用於 unsafe 模式。先讓各位初心者知道有這三種型別,如果有初心者朋友想知道更詳細的相關資訊,可以參考MSDNC#型別,關於比較深的型別觀念,小弟往後會更詳細的在文章裡與大家分享心得。
後記:
跟我一樣是剛開始學習C#的初心者朋友們也許會覺得碰到變數與型別,好像進入越來越複雜的領域了...各位初心者朋友,千萬別害怕,因為對於等級高的資深前輩們來說,這些東西對他們來說,可是基礎中的基礎,所以我們一定要在剛開始學習的時候,把基本的觀念搞懂(搞懂以後才等於是打通任督二脈呀XD),如果覺得小弟文章內有那些地方會讓您看的「霧煞煞」,歡迎提出來一起討論唷,也希望各位高手前輩們可以不吝賜教給我們這些初學C#的初心者朋友們在剛開始學習的時候有更正確的觀念。
希望資深的前輩們或是跟我一樣剛開始想學習C#的初心者,可以給我一些建議跟鼓勵! 謝謝呀 ~
(本文中相關內容有參閱、引述MSDN)
如果這篇文章對您有幫助,請幫我點選「我要推薦」、按個讚、或是幫我推到其他平台;您的鼓勵將會是我繼續努力的一大動力!!
若是有任何指教或是需要討論之處,也不用客氣,請在下面留言給我,我將會儘速回覆~