Geben Sie explizit eine Kultur in der String-Konvertierung an

8

Ich habe eine Schleife, in der ich ToString() für die int Variable i anrufe.

%Vor%

Resharper sagt mir, dass ich sollte:

  

Geben Sie explizit eine Kultur in der String-Konvertierung an.

Warum ist das?

Wie viele Möglichkeiten gibt es, um einen int in einen String zu konvertieren?

Ich hätte nur 1 gedacht.

    
Sachin Kainth 20.09.2012, 10:33
quelle

2 Antworten

7

Es gibt verschiedene Methoden zum Gruppieren von Symbolen, z. B. 1000; 1 000 und 1 000. Außerdem gibt es verschiedene Ziffern für Nummern in verschiedenen Ländern Chinesische Ziffern

Sie können verschiedene Zahlen in der Systemsteuerung sehen - & gt; Region und Sprache - & gt; Formate - & gt; zusätzliche Einstellungen - & gt; Standart Ziffern. (Win 7)

    
Dmitry Dovgopoly 20.09.2012, 10:39
quelle
1

Im Allgemeinen empfiehlt es sich, immer explizit anzugeben, ob Sie die aktuelle Kultur verwenden möchten oder ob die Verarbeitung Ihrer Daten kulturinvariant ist. Das Problem ist, dass wenn Sie Daten verarbeiten, die nur von Ihrer Software verarbeitet werden und die dem Benutzer in keiner Weise präsentiert werden (zum Beispiel Datenbankbezeichner), dann können Probleme auftreten, wenn die Daten auf verschiedenen Rechnern unterschiedlich sind.

>

Zum Beispiel kann ein Datenbankbezeichner auf einer Maschine mit irgendeiner Kultur serialisiert und auf einer Maschine mit einer anderen Kultur deserialisiert werden, und in diesem Fall könnte es anders sein! Wenn Sie explizit angeben, dass die von Ihnen verarbeitete Zeichenfolge kulturinvariant ist, ist sie immer dieselbe, unabhängig davon, welche Kultur auf dem Computer festgelegt ist.

Sie können mehr zu diesem Thema in der Dokumentation zur MSDN-Codeanalyse lesen:

CA1305: Geben Sie IFormatProvider

an     
Marek Dzikiewicz 21.09.2012 08:19
quelle

Tags und Links