Es necesario para convertir la cadena en un número para hacer la prueba de menos de 10:
// this will throw an exception if the string does not contain a number
int unreadzNumber = int.Parse(Unreadz);
Si está seguro de que la cadena contiene exactamente un dígito y nada más, puede simplemente probar si tiene longitud 1:
bool isLessThanTen = Unreadz.Length == 1;
Usted puede hacer el formato en una variedad de maneras diferentes:
// 1: just stick a zero before it
string formatted = string.Format("0{0}", unreadzNumber);
// 2: use a special format string to use at least two digits
string formatted = string.Format("{0:00}", unreadzNumber);
// 3: pad the string with zeros to the left
string formatted = Unreadz.PadLeft(2, '0');
// 4: manually concatenate with "0"
string formatted = "0" + Unreadz;
// and probably others
Yo prefiero la segunda, ya que hace que el formato más claro y más fácil de mantener y no requiere la comparación.
Así, se obtiene:
string Unreadz = "0";
while (true)
{
Unreadz = CheckMail();
int unreadzNumber = int.Parse(Unreadz);
port.Write(string.Format("{0:00}", unreadzNumber));
}
uso del Unreadz.length si está interesado en la longitud o analizar en un número entero como Int32.Parse (unreadz) si desea que el valor numérico almacenado dentro de la cadena –