其他分享
首页 > 其他分享> > 在Visual Studio的监视窗口中使用LINQ表达式

在Visual Studio的监视窗口中使用LINQ表达式

作者:互联网

我在程序中有一个byte []变量,例如:

byte[] myByteArray = new byte[] { 0xF0, 0x0F };

在调试该程序时,我想在Visual Studio的“监视”窗口中将字节数组的内容显示为单个十六进制值.

因此,我尝试在监视窗口中使用以下LINQ表达式,但未成功:

myByteArray.Select(value => value.ToString("X2")).ToArray()

监视窗口的错误消息:

error CS1061: ‘byte[]’ does not contain a definition for ‘Select’ and
no extension method ‘Select’ accepting a first argument of type
‘byte[]’ could be found (are you missing a using directive or an
assembly reference?)

有谁知道在Visual Studio的“监视”窗口中是否有一种无需安装第三方扩展即可使用LINQ表达式的方法?

我目前正在使用VS2017 15.6.6.

编辑:此问题的屏幕截图…

enter image description here

解决方法:

我试图重现您的问题,并发现以下内容:

监视窗口似乎使用您在代码中引用(通过使用)的名称空间.

如果您不在代码文件中使用linq(和System.Linq命名空间),则监视窗口无法找到扩展名.

如果您使用的是System.Linq;并在代码中使用该名称空间中的内容,监视窗口将查找并执行linq扩展. (如果您不使用System.Linq中的任何内容,则会对引用进行优化,因此该程序集不会在运行时加载,并且调试器无法使用它).

标签:debugging,visual-studio-2017,linq,c,visual-studio
来源: https://codeday.me/bug/20191109/2011444.html