程式碼示範
using System;
class MyClass {
static void Main() {
Console.WriteLine("sbyte 類型:");
sbyte sbyteVar = (sbyte)((sbyte.MaxValue + sbyte.MinValue) / 2);
Console.WriteLine("{0}、{1}、{2}\n", sbyte.MinValue, sbyteVar, sbyte.MaxValue);
Console.WriteLine("byte 類型:");
byte byteVar = (byte)((byte.MaxValue + byte.MinValue) / 2);
Console.WriteLine("{0}、{1}、{2}\n", byte.MinValue, byteVar, byte.MaxValue);
Console.WriteLine("short 類型:");
short shortVar = (short)((short.MaxValue + short.MinValue) / 2);
Console.WriteLine("{0}、{1}、{2}\n", short.MinValue, shortVar, short.MaxValue);
Console.WriteLine("ushort 類型:");
ushort ushortVar = (ushort)((ushort.MaxValue + ushort.MinValue) / 2);
Console.WriteLine("{0}、{1}、{2}\n", ushort.MinValue, ushortVar, ushort.MaxValue);
Console.WriteLine("int 類型:");
int intVar = (int)((int.MaxValue + int.MinValue) / 2);
Console.WriteLine("{0}、{1}、{2}\n", int.MinValue, intVar, int.MaxValue);
Console.WriteLine("uint 類型:");
uint uintVar = (uint)((uint.MaxValue + uint.MinValue) / 2);
Console.WriteLine("{0}、{1}、{2}\n", uint.MinValue, uintVar, uint.MaxValue);
Console.WriteLine("long 類型:");
long longVar = (long)((long.MaxValue + long.MinValue) / 2);
Console.WriteLine("{0}、{1}、{2}\n", long.MinValue, longVar, long.MaxValue);
Console.WriteLine("ulong 類型:");
ulong ulongVar = (ulong)((ulong.MaxValue + ulong.MinValue) / 2);
Console.WriteLine("{0}、{1}、{2}\n", ulong.MinValue, ulongVar, ulong.MaxValue);
Console.WriteLine("float 類型:");
float floatVar = (float.MaxValue + float.MinValue) / 2;
Console.WriteLine("{0}、{1}、{2}\n", float.MinValue, floatVar, float.MaxValue);
Console.WriteLine("double 類型:");
double doubleVar = (double.MaxValue + double.MinValue) / 2;
Console.WriteLine("{0}、{1}、{2}\n", double.MinValue, doubleVar, double.MaxValue);
Console.WriteLine("decimal 類型:");
decimal decimalVar = (decimal.MaxValue + decimal.MinValue) / 2;
Console.WriteLine("{0}、{1}、{2}\n", decimal.MinValue, decimalVar, decimal.MaxValue);
Console.WriteLine("char 類型:");
char charVar = '萬';
Console.WriteLine("{0}、{1}\n", charVar, ++charVar);
Console.WriteLine("bool 類型:");
bool boolVar = true;
Console.WriteLine("{0}、{1}\n", boolVar, !boolVar);
Console.WriteLine("string 類型:");
string stringVar = "萬一的 Delphi 博客";
Console.WriteLine("{0}、Length: {1}\n", stringVar, stringVar.Length);
Console.ReadKey();
}
}
執行結果重點解析
- 有號整數(sbyte, short, int, long):中間值接近 0,因範圍對稱。
- 無號整數(byte, ushort, uint, ulong):中間值為最大值一半。
- 浮點數(float, double):
MinValue 為負最大值,中間值為 0。
- decimal:高精度十進位,中間值同樣為 0。
- char:UTF-16 字元,'萬' (U+842C) 遞增後為 '億' (U+5104)。
- bool:僅 true/false,邏輯非運算互換。
- string:參考型別,
Length 回傳字元數(含中文各算 1)。
教學重點
- 掌握各數值型別的
MinValue/MaxValue 靜態屬性用法。
- 理解有號/無號、整數/浮點數的範圍分佈差異。
- 體驗
char 實為數值型別,可進行算術運算。
- 觀察
decimal 適合財務計算的高精度特性。