// получаем значение системного разделителя в нашей ОС:
string separator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator[0].ToString();
// это чтобы потом не было гемора как в этой ветке - https://zennolab.com/discussion/threads/win-serv-2016-osobennosti-sozdanija-shablonov.49990/#post-374393
//координаты города "Львов"
string Lat1_s = "49.83826";
Lat1_s = System.Text.RegularExpressions.Regex.Replace(Lat1_s, @"\D", separator);
string Long1_s = "24.02324";
Long1_s = System.Text.RegularExpressions.Regex.Replace(Long1_s, @"\D", separator);
double Lat1 = double.Parse(Lat1_s);
double Long1 = double.Parse(Long1_s);
//координаты города "Киев"
string Lat2_s = "50.4546";
Lat2_s = System.Text.RegularExpressions.Regex.Replace(Lat2_s, @"\D", separator);
string Long2_s = "30.5238";
Long2_s = System.Text.RegularExpressions.Regex.Replace(Long2_s, @"\D", separator);
double Lat2 = double.Parse(Lat2_s);
double Long2 = double.Parse(Long2_s);
GeoCoordinate geo1 = new GeoCoordinate(Lat1,Long1);
GeoCoordinate geo2 = new GeoCoordinate(Lat2,Long2);
double distanceTo = geo1.GetDistanceTo(geo2); // расстояние по прямой в метрах
double distanceTo_km = distanceTo / 1000;
return Convert.ToInt32(distanceTo_km); // расстояние по прямой в километрах