¿Cómo obtener tamaño y el espacio disponible de una unidad de almacenamiento en C# .Net?

Para obtener el tamaño y el espacio que se tiene disponible en una unidad de almacenamiento, lo podemos hacer utilizando la clase DriveInfo.

En el siguiente ejemplo obtenemos los datos de la unidad C:


 //recorremos las unidades para buscar la unidad C:
 foreach (DriveInfo drive in DriveInfo.GetDrives())
            {
                //La unidad C viene con este formato C:\\
                if (drive.IsReady && drive.Name == "C:\\")
                {
                    //espacio disponible
                    long EspacioDisponible= drive.AvailableFreeSpace;
                    //espacio total
                    long EspacioTotal=drive.TotalSize;
                }
            }

Nota: También puedes obtener otros datos de la unidad los cuales ya vienen en el objeto drive del ejemplo, como tipo, formato etc.