Comment puis-je convertir des nullable int d'une chaîne de caractères qui sera sans danger pour les ordinateurs dans des endroits différents?

Je suis de la conversion d'un nullable integer à un string, et Resharper me prévient de l'utilisation InvariantCulture.

shipment.ShipmentID.ToString()

Un rapide Alt-Enter, Enter plus tard, me donne ceci:

shipment.ShipmentID.ToString(CultureInfo.InvariantCulture)

Malheureusement, Resharper n'est pas satisfaite, et suggère la même chose, qui n'a pas de sens pour moi.

shipment.ShipmentID.ToString(CultureInfo.InvariantCulture, 
                                CultureInfo.InvariantCulture)

ToString() sur le nullable int de ne pas construire, ce qui me donne un message d'erreur indiquant Pas de surcharge de la méthode "ToString" prend 1 arguments.

Non nullable ints de se comporter différemment.

int requiredInt = 3;
//no Resharper or compiler warning
var stringFromRequiredInt = requiredInt.ToString(CultureInfo.InvariantCulture); 

Que dois-je faire pour convertir un nullable int à un string qui seront coffre-fort pour les ordinateurs dans des endroits différents?

Ce qui se passe lorsque vous utilisez l'expédition.ShipmentID.De la valeur? Avec des types nullables, j'ai l'habitude de vérifier la valeur null à l'aide de l' .HasValue boolean et ensuite utiliser .De la valeur.

OriginalL'auteur Jon Crowell | 2012-04-12