簡體   English   中英

如何在C#Visual Studio調試器中顯示1000分隔符

[英]How to display 1000 separator in C# Visual Studio debugger

使用大數字時,特別是long數,必須使用1000個分隔符顯示它們。

有沒有辦法顯示那些分隔符?

在觀察窗內?

觀察窗口示例

將鼠標懸停在變量上?

徘徊的例子

它在技術上是可能的,但不是直截了當的。 最簡單的方法是創建第二個格式化變量並觀察它。

我知道在監視窗口中執行此操作的唯一方法是,您可以通過在監視窗口中鍵入它來實際“觀察”表達式,作為對變量的編輯。 該表達式將附加格式化的toString。 但這似乎不適用於數組。

但是說你有一個變量“total”。 你的手表會說總計,你會雙擊它並編輯它來說總數.ToString(“C”);

我希望這有幫助。

我建議你創建一個新的數組(stringNumbers),它有千位分隔符,並在監視窗口中用它來進行調試。 完成調試后,可以刪除此數組。

int[] numbers = { 100000, 300000 };
string[] stringNumbers = numbers.Select(n => n.ToString("N")).ToArray();

您可以在觀察窗口中觀看stringNumbers。

如其他答案所述,這不是直接可能的。 因此,在功能請求進入Visual Studio之前,您需要手動執行此操作。 總而言之,您可以:

  • 使用DebuggerDisplayAttribute更改對象成員的顯示方式(請參閱此博客條目
  • 在代碼中添加一個帶有字符串表示形式的新變量(這很臟,因為一旦你完成調試就想刪除它)
  • Watch窗口中格式化數據(因此您首先需要在監視窗口中添加數據,當您將鼠標懸停在數據上時它將無法工作)。 例如
// For a long variable
myLong.ToString("N0")
// For a long array variable (that might slow VSNet down if you have tons of rows)
myLongArray.Select(l => l.ToString("N0"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM