2011-04-11 3 views

Répondre

10

Une façon de le faire est comme ceci:

int myValue; 
string myString = "Hi"; 

if(!int.TryParse(myString, out myValue) 
{ 
    myValue = -1; 
} 

Cela entraînera myValue finir par -1, au lieu de 0.

+0

Bien que cela se traduise par myValue se terminant par -1, il ne répond pas à la question. Ils demandent de changer la méthode elle-même. –

+8

@Ash Je suppose que c'est juste une formulation erronée. Aucune personne sensée ne voudrait changer TryParse d'une telle manière. Cela introduirait tant de bogues dans le code qui se construisait déjà sur TryParse. – CodesInChaos

+3

@Ash Burlaczenko - IMO c'est l'option la plus fi nale pour obtenir ce qu'il veut. Il a peut-être dit: changez la méthode, mais je parierais que c'est ce qu'il essaye vraiment d'accomplir. Tnx pour downvote. –

4

Vous n'avez pas besoin TryParse pour revenir -1. Vous pouvez simplement vérifier si l'analyse a échoué et affecter vous-même -1 à votre variable entière.

int myInt; 
if(!int.TryParse(s,out myInt)) 
    myInt=-1; 
3

Vous ne pouvez pas modifier le code d'une méthode de structure. Vous pouvez créer une méthode wrapper ou une méthode d'extension à la place.

Questions connexes