Resharper ostrzega mnie, że trzeba określić kulturę ciąg kiedy robi int.ToString()Dlaczego określić kulturę konwersji String
na przykład:
int Value = Id.ToString(); // Where Id is an int
Czy to tylko resharper jest pedantyczny lub jest powód, muszę podać ustawienie kultury do konwersji int do ciąg?
A jeśli jest ku temu powód - co najlepiej używać, gdy moja witryna jest używana na całym świecie? Czy powinien on odzwierciedlać ustawienia serwera, aby wewnętrzna konwersja została wykonana bezpiecznie?
Ale nie. NET podstawy go z bieżących informacji o wątku kultury? W ten sposób będzie serialiaze poprawnie dla użytkownika, który z niego korzysta? Chodzi mi o to, że użytkownicy chcą widzieć to w swojej kulturze, a nie w jakiejś innej kulturze, której nie zrozumieją, więc dlaczego Resharper miałby to sugerować? –
To prawda, ale ReSharper (i FXCop, na którym jest oparty) wskazują na to "coś, co naprawdę chcesz zrobić". Lepiej być wyraźnym i używać CultureInfo.CurrentCulture, jeśli naprawdę chcesz tego zachowania. W przeciwnym razie użyj CultureInfo.InvariantCulture –
Ah, perfect! Zapomniałem o ułamkach dziesiętnych. W moim przypadku wybieram kolumnę tożsamości SQL, INT, która, jak sądzę, zawsze będzie liczbą całkowitą, i konwertowaniem jej na ciąg znaków dla wartości pola rozwijanego interfejsu użytkownika. Twoja odpowiedź wyjaśnia, gdzie to byłoby przydatne. Zgaduję, że tak długo jak używam "CultureInfo.InvariantCulture", wszystkie będą jednolite? – Craig