/// <summary> /// /// </summary> /// <param name="conversionInfo"></param> /// <param name="unit"></param> /// <returns></returns> public static double ConvertTemperature(ConversionInfo conversionInfo, Enum unit) { /* if ((Temperature)conversionInfo.Unit == Temperature.DegreeC && (Temperature)unit == Temperature.DegreeK) { return conversionInfo.Value + 273.15; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeC && (Temperature)unit == Temperature.DegreeF) { return conversionInfo.Value * 9 / 5 + 32; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeF && (Temperature)unit == Temperature.DegreeC) { return (conversionInfo.Value - 32) * 5 / 9 ; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeF && (Temperature)unit == Temperature.DegreeK) { return (conversionInfo.Value - 32) * 5 / 9 + 273.15; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeK && (Temperature)unit == Temperature.DegreeF) { return (conversionInfo.Value - 273.15) * 9 / 5 + 32; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeK && (Temperature)unit == Temperature.DegreeC) { return conversionInfo.Value - 273.15; } // in case of conversion to same type return conversionInfo.Value; */ //temperature conversions return (Temperature) conversionInfo.Unit == Temperature.DegreeC && (Temperature) unit == Temperature.DegreeK ? conversionInfo.Value + 273.15 : ((Temperature) conversionInfo.Unit == Temperature.DegreeC && (Temperature) unit == Temperature.DegreeF ? conversionInfo.Value*9/5 + 32 : ((Temperature) conversionInfo.Unit == Temperature.DegreeF && (Temperature) unit == Temperature.DegreeC ? (conversionInfo.Value - 32)*5/9 : ((Temperature) conversionInfo.Unit == Temperature.DegreeF && (Temperature) unit == Temperature.DegreeK ? (conversionInfo.Value - 32)*5/9 + 273.15 : ((Temperature) conversionInfo.Unit == Temperature.DegreeK && (Temperature) unit == Temperature.DegreeF ? (conversionInfo.Value - 273.15)*9/5 + 32 : ((Temperature) conversionInfo.Unit == Temperature.DegreeK && (Temperature) unit == Temperature.DegreeC ? conversionInfo.Value - 273.15 : conversionInfo.Value))))); }
/// <summary> /// /// </summary> /// <param name="conversionInfo"></param> /// <param name="unit"></param> /// <returns></returns> public static double ConvertTemperature(ConversionInfo conversionInfo, Enum unit) { if ((Temperature)conversionInfo.Unit == Temperature.DegreeC && (Temperature)unit == Temperature.DegreeK) { return conversionInfo.Value + 273.15; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeC && (Temperature)unit == Temperature.DegreeF) { return conversionInfo.Value * 9 / 5 + 32; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeF && (Temperature)unit == Temperature.DegreeC) { return (conversionInfo.Value - 32) * 5 / 9 ; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeF && (Temperature)unit == Temperature.DegreeK) { return (conversionInfo.Value - 32) * 5 / 9 + 273.15; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeK && (Temperature)unit == Temperature.DegreeF) { return (conversionInfo.Value - 273.15) * 9 / 5 + 32; } if ((Temperature)conversionInfo.Unit == Temperature.DegreeK && (Temperature)unit == Temperature.DegreeC) { return conversionInfo.Value - 273.15; } // in case of conversion to same type return conversionInfo.Value; }