2010-04-14 56 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