2017-10-05 63 views
0

我有一個的NameValueCollection具有字符串鍵和字符串值,就像這樣:顯示值

fields["fieldname"] = "string value" 

當我在VS20217添加監視的「域」它讓我展開的列表鍵,但我似乎無法獲得值,除非我爲每個鍵添加個別手表。

我似乎回想起過去做這件事情,但不記得的方法。任何人都可以幫忙嗎?

+0

可能是重複的:請看看這個https://stackoverflow.com/questions/6967173/get-all-values-of-a-namevaluecollection-to-a-string –

+0

感謝您的回答,但恐怕這不是重複。另一個問題是關於在您的C#代碼中執行它,而我試圖在調試器中設置一個監視。兩種截然不同的情況。 –

回答

0

低摩擦的方法是創建一個擴展方法第一:

public static string DebugView(this NameValueCollection nvc) 
{ 
    return string.Join("\r\n", nvc.AllKeys.Select(key => $"{key}: {nvc[key]}")); 
} 

然後把nvc.DebugView()爲你的手錶變量,或者捕捉字符串變量,並派人監視代替NameValueCollection本身。

+0

這是我會考慮的事情,如果我不能找出更好的方法。事情是,我記得過去做過這樣的事情,並沒有像寫作擴展方法那樣。 –

+0

您也可以嘗試將自定義調試可視化工具添加到Visual Studio中。以下是一個NameValueCollection可視化器的代碼示例:https://searchcode.com/codesearch/view/10031420/。以下是關於創建,安裝和使用自定義可視化工具的一般信息:https://msdn.microsoft.com/en-us/library/zayyhzts.aspx –

+0

另一方面,我剛剛實施了我的原始建議以對其進行測試,並花了我45秒和8行代碼(包括擴展類聲明和所有打開/關閉大括號)。 :-) –