Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| // <Snippet7> | |
| using System; | |
| public class Temperature | |
| { | |
| private decimal m_Temp; | |
| public Temperature(decimal temperature) | |
| { | |
| this.m_Temp = temperature; | |
| } | |
| public decimal Celsius | |
| { | |
| get { return this.m_Temp; } | |
| } | |
| public decimal Kelvin | |
| { | |
| get { return this.m_Temp + 273.15m; } | |
| } | |
| public decimal Fahrenheit | |
| { | |
| get { return Math.Round(((decimal) (this.m_Temp * 9 / 5 + 32)), 2); } | |
| } | |
| public override string ToString() | |
| { | |
| return this.ToString("C"); | |
| } | |
| public string ToString(string format) | |
| { | |
| // Handle null or empty string. | |
| if (String.IsNullOrEmpty(format)) format = "C"; | |
| // Remove spaces and convert to uppercase. | |
| format = format.Trim().ToUpperInvariant(); | |
| // Convert temperature to Fahrenheit and return string. | |
| switch (format) | |
| { | |
| // Convert temperature to Fahrenheit and return string. | |
| case "F": | |
| return this.Fahrenheit.ToString("N2") + " °F"; | |
| // Convert temperature to Kelvin and return string. | |
| case "K": | |
| return this.Kelvin.ToString("N2") + " K"; | |
| // return temperature in Celsius. | |
| case "G": | |
| case "C": | |
| return this.Celsius.ToString("N2") + " °C"; | |
| default: | |
| throw new FormatException(String.Format("The '{0}' format string is not supported.", format)); | |
| } | |
| } | |
| } | |
| public class Example | |
| { | |
| public static void Main() | |
| { | |
| Temperature temp1 = new Temperature(0m); | |
| Console.WriteLine(temp1.ToString()); | |
| Console.WriteLine(temp1.ToString("G")); | |
| Console.WriteLine(temp1.ToString("C")); | |
| Console.WriteLine(temp1.ToString("F")); | |
| Console.WriteLine(temp1.ToString("K")); | |
| Temperature temp2 = new Temperature(-40m); | |
| Console.WriteLine(temp2.ToString()); | |
| Console.WriteLine(temp2.ToString("G")); | |
| Console.WriteLine(temp2.ToString("C")); | |
| Console.WriteLine(temp2.ToString("F")); | |
| Console.WriteLine(temp2.ToString("K")); | |
| Temperature temp3 = new Temperature(16m); | |
| Console.WriteLine(temp3.ToString()); | |
| Console.WriteLine(temp3.ToString("G")); | |
| Console.WriteLine(temp3.ToString("C")); | |
| Console.WriteLine(temp3.ToString("F")); | |
| Console.WriteLine(temp3.ToString("K")); | |
| Console.WriteLine(String.Format("The temperature is now {0:F}.", temp3)); | |
| } | |
| } | |
| // The example displays the following output: | |
| // 0.00 °C | |
| // 0.00 °C | |
| // 0.00 °C | |
| // 32.00 °F | |
| // 273.15 K | |
| // -40.00 °C | |
| // -40.00 °C | |
| // -40.00 °C | |
| // -40.00 °F | |
| // 233.15 K | |
| // 16.00 °C | |
| // 16.00 °C | |
| // 16.00 °C | |
| // 60.80 °F | |
| // 289.15 K | |
| // The temperature is now 16.00 °C. | |
| // </Snippet7> |