using System.Collections.Generic;
using System.Linq.Expressions;
using System.Runtime.Remoting.Channels;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
public static void Main()
Console.WriteLine("Enter the Temperature");
if (!ReadTemparature(out temp))
if (!ReadTemparature(out temp))
Console.WriteLine("Attempts Completed Application Closing");
char inputunits, outputunit;
if (!ReadInputunit(out inputunits, "input"))
if (!ReadInputunit(out inputunits, "input"))
Console.WriteLine("Attempts Completed Application Closing");
if (!ReadInputunit(out outputunit, "output"))
if (!ReadInputunit(out outputunit, "output"))
Console.WriteLine("Attempts Completed Application Closing");
Convertvalue(temp, inputunits, outputunit);
private static bool ValidateTemperatureUnit(char unit)
var reg = new Regex(@"[fFAaCc]");
if (!reg.IsMatch(unit.ToString()))
Console.WriteLine("Enter a Valid Temperature Unit");
private static bool ReadInputunit(out char inputunit, string param)
Console.WriteLine("Enter the {0} Temperature Unit as F for Fahrenheit, C for Celsius, K for Kelvin", param);
if (!char.TryParse(Console.ReadLine(), out inputunit))
return ValidateTemperatureUnit(inputunit);
private static bool ReadTemparature(out float temp)
string inputtemp = Console.ReadLine();
var regex = new Regex(@"^-?[0-9]*(?:\.[0-9]*)?$");
if (!regex.IsMatch(inputtemp))
Console.WriteLine("Invalid Temperature, Enter a valid Temperature");
temp = float.Parse(inputtemp);
private static void Convertvalue(float temp, char input, char output)
FarienhitConveriosn(temp, output);
CentigradeConveriosn(temp, output);
KelvinConveriosn(temp, output);
private static void FarienhitConveriosn(float temp, char output)
Console.WriteLine("The Converted Temperature is {0} F", temp);
Console.WriteLine("The Converted Temperature is {0} C", (temp - 32) * 5 / 9);
Console.WriteLine("The Converted Temperature is {0} K", ((temp - 32) * 5 / 9) + 273.15);
private static void CentigradeConveriosn(float temp, char output)
Console.WriteLine("The Converted Temperature is {0} F", temp * 9 / 5 + 32);
Console.WriteLine("The Converted Temperature is {0} C", temp);
Console.WriteLine("The Converted Temperature is {0} K", temp + 273.15);
private static void KelvinConveriosn(float temp, char output)
Console.WriteLine("The Converted Temperature is {0} F", (temp - 273.15) * 9 / 5 + 32);
Console.WriteLine("The Converted Temperature is {0} C", temp - 273.15);
Console.WriteLine("The Converted Temperature is {0} K", temp);