J'ai une situation intéressante où les paramètres régionaux ont joué avec mon application C#, parce que je n'ai pas réalisé que des méthodes comme Double.Parse ne convertiront pas "1000" à 1000, mais faire quelque chose d'inattendu en raison du format de numérotation différent.Modification des paramètres régionaux d'une application sans modifier les paramètres régionaux Windows
Une solution à mon problème serait d'utiliser quelque chose comme double d = double.parse("1000", new CultureInfo("en-US"));
. Actuellement, je ne passe pas le CultureInfo. Cependant, au lieu d'avoir à faire ce changement dans le code, je me demandais s'il est possible d'affecter les paramètres régionaux de juste mon application au démarrage.
J'ai trouvé un article on MSDN qui dit que je peux y parvenir avec le code suivant:
using System.Threading;
using System.Globalization;
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Mais il ne dit pas si les threads de travail donné naissance du thread principal héritera également la culture du parent.
Je suppose que ce n'est pas le cas, comme dans 4,5 .NET il y a apparemment une nouvelle CultureInfo.DefaultThreadCurrentCulture
propriété qui spécifie la culture pour tous les threads dans le domaine de l'application, mais il n'y a rien comme ça dans .NET 4.0 .
Quelqu'un peut-il recommander une bonne solution pour ce problème de paramètres régionaux?
oui, je l'ai déjà confirmé et mis en œuvre le correctif, merci! – Dave
Si cela résout vos problèmes s'il vous plaît marquer comme réponse. –