TryParse()
всегда присваивает значение oAdjRate
.Вам не нужно назначать его самостоятельно.
Теперь значение может быть не тем, что вы хотите.Если TryParse возвращает true, преобразование выполнено успешно, и значение oAdjRate
будет правильным.Однако, если TryParse возвращает false, значение oAdjRate
будет равно нулю.
Вы должны решить, что делать в случае сбоя преобразования.Например, здесь я решил выбросить исключение.
string strVal = "12.3";
double dVal;
if (double.TryParse(strVal , out dVal))
{
// Here, the value of dVal is 12.3
System.Diagnostics.Debug.WriteLine(dVal);
}
else
{
// Here, the value of dVal is 0.0
throw new ArgumentException()
}
// Here, we don't know what dVal is. It could be 12.3 or 0.0.
Вот соответствующая документация MSDN :
public static bool TryParse(
string s,
out double result
)
[...]
результат
Когда этот метод возвращает значение, содержит число с плавающей запятой с двойной точностью, эквивалентное параметру s, если преобразование выполнено успешно, или ноль, если преобразование не удалось.Преобразование завершается неудачно, если параметр s имеет значение null или String.Empty, не является числом в допустимом формате или представляет число меньше MinValue или больше MaxValue.Этот параметр передается неинициализированным;любое значение, изначально указанное в результате, будет перезаписано.