2010-04-14 58 views
4

如何使用调试器检查此GetItems()函数的返回值?我是否必须为结果创建一个局部变量来完成此操作?使用C#中的调试器检查值

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

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

不能调用一个下拉列表时,你只是mouseover的GetItems()? – RedEye 2010-04-15 05:16:49

回答

2

不,你可以添加监视或快速监视到GetItems(),你会看到结果

0

,你可以这样:

var items = GetItems(); 

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

编辑 - 在回应评论时,我同意他的观点,但我更喜欢不要在其他常量内进行“内嵌”方法调用ructs(方法调用,if语句,循环等)。例如,如果你有一个方法调用,看起来像这样:

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

我认为它实际上是更容易阅读和调试,如果你这样做,而不是:

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

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

用第二种方法,你可以更容易在你想要进入的方法上设置一个断点,而不必在进入要调试的方法之前先进入其他方法调用。只是个人喜好。

+3

我一直觉得为这种调试目的创建额外的代码似乎超出了上面的范围。如果IDE不支持它,IDE就缺乏。这是正确的,但是在将代码更改为像这样调试时似乎是错误的... – 2010-04-14 18:05:53