資料型態

  • 數字(整數、浮點數)
  • 文字(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

型別轉換

  • 變數宣告後,只能存放同型別的資料,如果要存放不同型別的資料,就需要型別轉換
  • 當較小的資料型別中的資料,要存放到較大的資料型別時,這時資料資料不會流失,所以會自動轉換,稱為隱含轉換
  • 反過來說,型別較大的資料,要存放到較小的型別時,就需要在資料前面用(),裡面指定轉型後的明確型別,稱為強制轉換