Qu'est-ce que l'Invariant de la Culture?
Quelqu'un pourrait-il donner un exemple pour illustrer l'utilisation de la Invariant de la Culture? Je ne comprends pas ce que la documentation décrit.
- C'est en anglais, mais n'est pas associé à n'importe quel endroit.
Vous devez vous connecter pour publier un commentaire.
L'invariant de la culture est une culture particulière qui est utile, car il ne changera pas. La culture actuelle peut changer d'un utilisateur à un autre, ou même d'un run à l'autre, de sorte que vous ne pouvez pas compter sur elle rester la même.
Être en mesure d'utiliser la même culture chaque fois est très importante dans plusieurs flux, par exemple, la sérialisation: vous pouvez demander à 1,1 valeur dans une culture et 1,1 dans l'autre. Si vous essayez de l'analyser "1,1" valeur dans la deuxième culture, puis l'analyse échoue. Cependant, vous pouvez utiliser l'invariant de la culture pour convertir un nombre en chaîne et analyser ultérieurement à partir de n'importe quel ordinateur avec toute la culture.
System.Globalization
espace de noms.CultureInfo.InvariantCulture
fonctionne parce que vous sérialisé avec la même culture....alors n'est-il pas le même que l'utilisation deCultureInfo.CurrentCulture
?CultureInfo.InvariantCulture
alors vous savez que vous aurez toujours être en mesure d'analyser le dos d'un décimal à l'aide deCultureInfo.InvariantCulture
. Si vous utilisezCultureInfo.CurrentCulture
pour sérialiser, votre utilisateur pourrait avoir "en-US" en tant que leur culture actuelle. Le prochain utilisateur qui va analyser retour à une décimale pourrait avoir une culture qui utilise "," pour un séparateur.Une fausse culture fondée sur l'anglais avec comportement défini. Idéal pour écrire, par exemple, des trucs dans des fichiers de configuration de sorte qu'il peut être lu et écrit quelle que soit la culture, l'utilisateur a défini.
Fondamentalement, c'est une culture spécifique qui est artificiel et ne changera pas.
Il est utilisé pour des choses qui est la même quelle que soit la culture (qui n'a pas besoin d'être traduits à une certaine culture X adaptée)
comme pour un exemple - https://msdn.microsoft.com/en-us/library/4c5zdc6a(v=vs. 100).aspx. Lorsque vous écrivez une application spécifique de fichier que l'utilisateur ne devrait pas être déconner avec, vous devez utiliser InvariantCulture pour toutes les méthodes qui prennent dans une culture paramètre.
Noter que pour les docs ci-dessus:
L'invariant de la culture est insensible culture; il est associé à la langue anglaise, mais pas avec n'importe quel pays/région.Vous pouvez utiliser l'invariant de la culture pour la culture sensible à la chaîne des opérations qui ne sont pas affectés par les conventions du thread actuel de la culture et qui sont compatibles à travers les cultures.
La propriété InvariantCulture est pratique lorsque vous souhaitez afficher persister des données dans un indépendants de la culture des format.
Par exemple, si vous souhaitez afficher un nombre ou datetime dans un format spécifique indépendante de l'application actuelle de la culture que vous pouvez utiliser CultureInfo.InvariantCulture.
Universel est une simple non-régionaux spécifiques de la langue anglaise et d'autres infos. C'est comme la langue de la langue de programmation lui-même. Vous pouvez compter sur elle dans la mise en place d'un calendrier universel; dans la situation où vous avez besoin de générer des noms de contrôleur, URL, délégué noms ...etc. et ont besoin de choses à agir de façon naturelle et universelle entre tous les utilisateurs.