Czy ktokolwiek mógłby podać przykład, aby zademonstrować użycie niezmiennej kultury ? Nie rozumiem, co opisuje dokumentacja.
.net
globalization
Ricky
źródło
źródło
Odpowiedzi:
Kultura niezmienna jest kulturą specjalną, która jest użyteczna, ponieważ się nie zmieni. Obecna kultura może zmieniać się od jednego użytkownika do drugiego, a nawet z jednego uruchomienia do drugiego, więc nie można polegać na tym, że pozostanie taka sama.
Możliwość korzystania z tej samej kultury za każdym razem jest bardzo ważna w kilku przepływach, na przykład serializacji: możesz mieć wartość 1,1 w jednej kulturze i 1,1 w innej. Jeśli spróbujesz przeanalizować wartość „1,1” w drugiej kulturze, analiza nie powiedzie się. Możesz jednak użyć niezmiennej kultury, aby przekonwertować liczbę na ciąg, a następnie przeanalizować ją z powrotem z dowolnego komputera z dowolnym zestawem kultur.
źródło
System.Globalization
przestrzeni nazw.CultureInfo.InvariantCulture
działa, ponieważ jesteś serializowany z tą samą kulturą ... to czy nie jest to to samo, co używanieCultureInfo.CurrentCulture
?CultureInfo.InvariantCulture
, wiesz, że zawsze będziesz w stanie przeanalizować z powrotem do ułamka dziesiętnego używającCultureInfo.InvariantCulture
. Jeśli używaszCultureInfo.CurrentCulture
do serializacji, Twój użytkownik może mieć „en-US” jako bieżącą kulturę. Następny użytkownik, który przejdzie do analizy z powrotem do ułamka dziesiętnego, może mieć bieżącą kulturę, która używa znaku „,” jako separatora.Fałszywa kultura oparta na języku angielskim z określonym zachowaniem. Świetnie jest na przykład zapisywać rzeczy do plików konfiguracyjnych, aby można je było odczytywać i zapisywać niezależnie od kultury zdefiniowanej przez użytkownika.
Zasadniczo jest to specyficzna kultura, która jest sztuczna i nie ulegnie zmianie .
źródło
Jest używany do rzeczy, które są takie same niezależnie od kultury (które nie muszą być tłumaczone na jakąś kulturę X, aby były odpowiednie)
jak na przykład - https://msdn.microsoft.com/en-us/library/4c5zdc6a(v=vs.100).aspx . Podczas pisania pliku specyficznego dla aplikacji, z którym użytkownik nie powinien się bawić, należy użyć InvariantCulture dla wszystkich metod, które przyjmują parametr kultury.
Pamiętaj, że zgodnie z dokumentami, do których link znajduje się powyżej:
źródło
Kultura niezmienna jest niewrażliwa na kulturę; jest powiązany z językiem angielskim, ale nie z żadnym krajem / regionem.
CultureInfo.InvariantCulture pobiera wystąpienie niezmiennej kultury. Może być używany w prawie każdej metodzie w przestrzeni nazw System.Globalization, która wymaga kultury.
Obiekty zwracane przez właściwości, takie jak CompareInfo, DateTimeFormat i NumberFormat, również odzwierciedlają porównanie ciągów i konwencje formatowania niezmiennej kultury. Właściwość InvariantCulture jest przydatna, gdy chcesz wyświetlić trwałe dane w formacie niezależnym od kultury .
Na przykład, jeśli chcesz wyświetlić liczbę lub datę i godzinę w określonym formacie niezależnie od bieżącej kultury aplikacji, możesz użyć CultureInfo.InvariantCulture .
źródło
Jest to uniwersalny, prosty, nieregionalny język angielski i inne powiązane informacje. To jest jak język samego języka programowania. Możesz na nim polegać, konfigurując uniwersalny kalendarz; w sytuacji, gdy musisz wygenerować nazwy kontrolerów, adresy URL, nazwy delegatów ... itd. i potrzebują, aby rzeczy działały naturalnie i uniwersalnie wśród wszystkich użytkowników.
źródło