如何使用调试器检查此GetItems()函数的返回值?我是否必须为结果创建一个局部变量来完成此操作?使用C#中的调试器检查值
foreach (string item in GetItems())
{
// some code
}
private List<string> GetItems()
{
// return some list
}
如何使用调试器检查此GetItems()函数的返回值?我是否必须为结果创建一个局部变量来完成此操作?使用C#中的调试器检查值
foreach (string item in GetItems())
{
// some code
}
private List<string> GetItems()
{
// return some list
}
不,你可以添加监视或快速监视到GetItems(),你会看到结果
,你可以这样:
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);
用第二种方法,你可以更容易在你想要进入的方法上设置一个断点,而不必在进入要调试的方法之前先进入其他方法调用。只是个人喜好。
我一直觉得为这种调试目的创建额外的代码似乎超出了上面的范围。如果IDE不支持它,IDE就缺乏。这是正确的,但是在将代码更改为像这样调试时似乎是错误的... – 2010-04-14 18:05:53
不能调用一个下拉列表时,你只是mouseover的GetItems()? – RedEye 2010-04-15 05:16:49