2010-04-14 5 views
4

Comment inspecter la valeur de retour de cette fonction GetItems() à l'aide du débogueur? Dois-je créer une variable locale pour que les résultats obtiennent cela?Inspection des valeurs à l'aide du débogueur en C#

foreach (string item in GetItems()) 
{ 
    // some code 
} 

private List<string> GetItems() 
{ 
    // return some list 
} 
+0

ne pouvez-vous pas simplement passer la souris sur GetItems() pendant le débogage ... cela n'ouvrirait-il pas une liste déroulante? – RedEye

Répondre

2

Non, vous pouvez ajouter une montre ou un Espion à GetItems() et vous verrez le résultat

0

Vous pourriez à ceci:

var items = GetItems(); 

foreach (var item in items) 
{ 
    // some code 
} 

Edit - en réponse au commentaire, je suis d'accord avec ce que dit Astander, mais je préfère ne pas faire des appels de méthode "inline" à l'intérieur d'autres const RUCTS (appels de méthodes, si déclarations, boucles, etc.). Par exemple, si vous avez un appel de méthode qui ressemble à ceci:

var result = SomeMethod(GetCode(), GetItems(), GetSomethingElse(), aVariable); 

Je pense qu'il est effectivement plus facile à lire et à déboguer si vous faites ceci: Avec la deuxième façon

var code = GetCode(); 
var items = GetItems(); 
var somethingElse = GetSomethingElse(); 

var result = SomeMethod(code, items, somethingElse, aVariable); 

, vous pouvez Définissez plus facilement un point d'arrêt sur la méthode que vous souhaitez utiliser, plutôt que de devoir passer par-dessus d'autres appels de méthode avant d'entrer dans la méthode que vous souhaitez déboguer. Juste une préférence personnelle.

+3

J'ai toujours pensé que la création de code supplémentaire à des fins de débogage comme cela semble sur le dessus. Si l'EDI ne le supporte pas, l'IDE fait défaut. C'est correct, mais ça ne va pas quand vous changez votre code pour déboguer comme ça ... –

Questions connexes