我需要在Visual Studio 2013的WATCH窗口中调试许多元素的数组(所有元素都是UINT64)。
我可以使用以下方式单独查看:
System.Text.Encoding.Default.GetString(BitConverter.GetBytes(Element(0)))
此代码在WATCH窗口中显示8个ASCII字节。例如:
UINT64 = 7016996765293437281 shows me 'aaaaaaaa' (what I need!)
我想知道是否有办法只使用一条指令将整个UINT64数组视为ASCII字符。
我在MSDN中搜索它,所有样本都在FOREACH-NEXT循环中显示手动转换。
这有什么解决方案吗? 提前谢谢。
答案 0 :(得分:0)
首先,确保包含这些命名空间:
using System;
using System.Linq;
using System.Text;
现在,试试这个表达式:
string.Concat(element.Select(e => Encoding.ASCII.GetString(BitConverter.GetBytes(e))))
这将以ASCII字符串形式显示数组中的所有元素。
编辑这是一个没有lambda函数的解决方案,可以在调试设置中运行:
string.Concat(element.Select(BitConverter.GetBytes).Select(Encoding.ASCII.GetString))