Для получения значений по умолчанию для каждого типа можно воспользоваться оператором default
которому передать сам тип.
Ниже приведён код получения значений по умолчанию для разных типов и результат его выполнения.
using System;
namespace DefaultValues
{
class Program
{
static void Main()
{
byte a = default(byte);
sbyte b = default(sbyte);
short c = default(short);
ushort d = default(ushort);
int e = default(int);
uint f = default(uint);
long g = default(long);
ulong p = default(ulong);
float k = default(float);
double m = default(double);
decimal q = default(decimal);
bool n = default(bool);
char z = default(char);
string s = default(string);
object w = default(object);
Console.WriteLine("Значения по умолчанию для целочисельных типов:");
Console.WriteLine("byte: {0}", a);
Console.WriteLine("sbyte: {0}", b);
Console.WriteLine("short: {0}", c);
Console.WriteLine("ushort: {0}", d);
Console.WriteLine("int: {0}", e);
Console.WriteLine("uint: {0}", f);
Console.WriteLine("long: {0}", g);
Console.WriteLine("ulong: {0}", p);
Console.WriteLine();
Console.WriteLine("Значения по умолчанию для вещественных типов:");
Console.WriteLine("float: {0}", k);
Console.WriteLine("double: {0}", m);
Console.WriteLine();
Console.WriteLine("Значением по умолчанию для типа decimal: {0}", q);
Console.WriteLine("Значением по умолчанию для типа bool: {0}", n);
Console.WriteLine("Значением по умолчанию для типа char: {0}", z);
Console.WriteLine();
// поскольку типы string и object являются ссылочными типами (class), то их значениями по умоланию должно быть null
// null – указывает, что переменная не ссылается ни на один объект в памяти
// проверка на null: s == null ? "null" : s
Console.WriteLine("Значением по умолчанию для типа string: {0}", s == null ? "null" : s);
Console.WriteLine("Значением по умолчанию для типа object: {0}", w == null ? "null" : w);
// Задержка.
Console.ReadKey();
}
}
}