Prevención de double.Parse de eliminar ceros finales después del decimal?

Al usar double.Parse, parece que le gusta separar los ceros (insignificantes) de la cadena que estoy convirtiendo. Me gustaría double.Parse para mantener lugares después del decimal. Por ejemplo, aquí hay un código:

tobereturned.MouseSensitivty = double.Parse(String.Format("{0:#.##}", tempstring[1]));
Debug.WriteLine("Converted " + String.Format("{0:#.##}", tempstring[1]) + " to " + tobereturned.MouseSensitivty);

El depurador luego escribe

Convierte 4.00 a 4

Entonces parece doble.es haciendo algo sospechoso aquí. PD MouseSensitivity también es del tipo double, por lo que no puedo hacer ninguna operación de cadena en él.

Respuestas a la pregunta(4)

Su respuesta a la pregunta