Co zrobić by nie martwić się o to jak są oddzielane miejsca dziesiętne (kropka / przecinek) w string’ach, które rzutujemy, np. na typ Double ?

Wystarczy zastosować coś takiego:
 C# |  kopiuj kod |? 
1
double price = Convert.ToDouble("10.66", System.Globalization.CultureInfo.InvariantCulture);

Dodatkowo gdybyśmy chcieli zastosować inny sposób za pomocą tego kodu możemy poznać separator miejsc dziesiętnych dla aktualnej CultureInfo:
 C# |  kopiuj kod |? 
1
System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator