資料型態
- 數字(整數、浮點數)
- 文字(char, string)
- 布林(bool)
- 日期(DateTime)
- 物件(Object)
有號數
C# type |
System type |
Suffix |
Size |
Range |
sbyte |
System.SByte |
|
8 bits |
-27 to 27-1 |
short |
System.Int16 |
|
16 bits |
-215 to 215-1 |
int |
System.Int32 |
|
32 bits |
-231 to 231-1 |
long |
System.Int64 |
L |
641 bits |
-263 to 263-1 |
int i = 1 / 3 * 3;
int j = i / 0; // 除以零
無號數
C# type |
System type |
Suffix |
Size |
Range |
float |
System.Single |
F |
32 bits |
± (~10−45 to 1038) |
double |
System.Double |
D |
64 bits |
± (~10−324 to 10308) |
decimal |
System.Decimal |
M |
128 bits |
± (~10−28 to 1028) |
float x = 1f / 3 * 3;
double y = 1d / 3 * 3;
decimal z = 1m /3 * 3;
文字、布林、日期、物件
C# type |
System type |
Size |
Range |
char |
System.Char |
16bits |
|
string |
System.String |
至少20bits |
|
bool |
System.Boolean |
2Byte |
|
object |
System.Object |
0或8 |
|
DateTime |
System.DateTime |
8Byte |
0001/1/1 12:00:00 9999/12/31 23:59:59 |
型別轉換
- 變數宣告後,只能存放同型別的資料,如果要存放不同型別的資料,就需要型別轉換
- 當較小的資料型別中的資料,要存放到較大的資料型別時,這時資料資料不會流失,所以會自動轉換,稱為隱含轉換
- 反過來說,型別較大的資料,要存放到較小的型別時,就需要在資料前面用(),裡面指定轉型後的明確型別,稱為強制轉換