如何使用調試器檢查此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