Datatypes in C#

https://csci-1301.github.io/about#authors

August 13, 2021 (07:59:49 AM)

Value Types

Numeric

Signed Integer

Type Range Size
sbyte -128 to 127 Signed 8-bit integer
short -32,768 to 32,767 Signed 16-bit integer
int -2,147,483,648 to 2,147,483,647 Signed 32-bit integer
long -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 Signed 64-bit integer

Unsigned Integer

Type Range Size
byte 0 to 255 Unsigned 8-bit integer
ushort 0 to 65,535 Unsigned 16-bit integer
uint 0 to 4,294,967,295 Unsigned 32-bit integer
ulong 0 to 18,446,744,073,709,551,615 Unsigned 64-bit integer

Floating-point Numbers

Type Approximate Range Precision
float ±1.5e−45 to ±3.4e38 7 digits
double ±5.0e−324 to ±1.7e308 15–16 digits
decimal (-7.9 x 1028 to 7.9 x 1028)/(100 to 1028) 28–29 significant digits

Logical

Type Possible Values Size
bool true, false 8-bit

Character

Type Range Size
char U+0000 to U+ffff Unicode 16-bit character

Literals

Name Corresponding datatype Examples
Integer Literal int 40, -39, 291838, 0, …
Float Literal float 3.5F, -43.5f, 309430.70006F, …
Double Literal double 28.98, 239.0, -391.089, 0.0, …
Decimal Literal decimal 8.95m, 3283.9M, -30m, …
Boolean Literal bool true, false
Character Literal char 'Y', 'a', '0', '\n', '\x0058', '\u0058', …

Compatibility

Integer Literal Float Literal Double Literal Decimal Literal
int ✓ ✘ ✘ ✘
float ✓ ✓ ✘ ✘
double ✓ ✓ ✓ ✘
decimal ✓ ✘ ✘ ✓

Result Type of Operations

int float double decimal
int int float double decimal
float float float double illegal
double double double double illegal
decimal decimal illegal illegal decimal

References