如何在.NET中将UINT64数组视为ASCII

时间:2015-12-30 21:28:52

标签: arrays vb.net visual-studio-2012 visual-studio-debugging

我需要在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循环中显示手动转换。

这有什么解决方案吗? 提前谢谢。

1 个答案:

答案 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))