ReSharper warnt mich, dass ich einen String Kultur angeben muß, wenn ein int.ToString tun()Warum geben Sie Kultur in String Umwandlung
Zum Beispiel:
int Value = Id.ToString(); // Where Id is an int
Ist das nur resharper pedantisch, Oder gibt es einen Grund, dass ich eine Kultur Einstellung für die Umwandlung eines Int in eine Zeichenfolge geben muss?
Und wenn es einen Grund gibt, dies zu tun - was ist das Beste zu verwenden, wenn meine Website rund um den Globus verwendet wird? Sollte es nur die Servereinstellungen wiedergeben, damit die interne Konvertierung sicher erfolgt?
Aber basiert nicht .NET es von der aktuellen Fadenkulturinfo? So wird es seriell für den Benutzer, der es benutzt, serialisiert? Mein Punkt ist, dass die Benutzer es in ihrer Kultur sehen wollen, nicht in einer anderen Kultur, die sie nicht verstehen werden. Warum also sollte Resharper das vorschlagen? –
Es funktioniert, aber ReSharper (und FXCop, auf dem es basiert) weisen darauf hin, dass es sich um eine "did you really" handelt. Es ist besser, explizit zu sein und CultureInfo.CurrentCulture zu verwenden, wenn Sie dieses Verhalten wirklich wollen. Ansonsten benutze CultureInfo.InvariantCulture –
Ah, perfekt! Ich habe die Dezimalstellen vergessen. In diesem Fall verwende ich eine SQL-Identitätsspalte INT, von der ich glaube, dass sie immer eine ganze Zahl ist, und wandle sie in eine Zeichenfolge für den Wert einer UI-Dropdown-Box um. Ihre Antwort erklärt, wo sonst dies nützlich wäre. Ich rate dann, dass, solange ich "CultureInfo.InvariantCulture" verwende, alle einheitlich sein werden? – Craig