Datatypes in C#
April 26, 2023 (03:57:11 PM)
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
- https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/types-and-variables
- https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/integral-types-table
- https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/floating-point-types-table
- https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/value-types-table
- https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/implicit-numeric-conversions-table
- https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/explicit-numeric-conversions-table