Для начала, похоже, что вы читаете текстовый файл каждый раз, когда пользователь хочет получить результат, и только первая строка при этом!
Прочитайте текстовый файл и сохраните его где-нибудь, сохраните коэффициенты преобразования в словаре:
Dictionary<string, double> convFactors = new Dictionaty<string, double>();
while ((line = Units.ReadLine()) != null)
{
SplitData = line.Split(',');
string from = SplitData[0]; // should really be named 'from' not STart
string to = SplitData[1]; // should really be named 'to' not Finish
double factor = Convert.ToDouble(SplitData[2]); // or double.Parse ??
convFactors.Add( from + "-" + to , factor); // ie: stores "ounce-gram", 28.0
}
Теперь читаем цикл ввода с консоли и отвечаем на вопросы:
while (true);
{
Console.WriteLine("Please input the amount, to and from type (Ex. 5,ounces,grams):");
string Input = Console.ReadLine();
if (Input.Equals("quit") || Input.Length == 0)
break;
string[] tk = Input.Split(',', ' ', '/', '.');
double result = convFactors[tk[1] + "-" + tk[2]] * double.Parse(tk[0]);
Console.WriteLine("{0} {1} equals {2} {3}", tk[0], tk[1], result, th[2]);
Console.ReadLine(); // is this readline really needed??
}
Редактировать: и да - забудь, что goto даже на языке ... использование goto - верный признак того, что ты написал плохой алгоритм - ну, они НАСТОЛЬКО полезны ...