当您在Watch窗口中查看对象时,您看到的是ToString()方法产生的任何内容。但是,如果您可以控制显示的内容以便您可以看到一些有意义的值呢?好吧,你可以。

如果我们有一个这样Person定义的类:

namespace VSTips.DebuggerDisplay
{class Person{public string FirstName { get; set; }public string LastName { get; set; }}
}

如果我们创建一个实例并在观察窗口中查看它,我们所看到的就是{VSTips.DebuggerDisplay.Person}。当然,我们可以深入查看各个属性,当您查看单个对象时,这并不是那么糟糕,但当您查看List<Person>并查看具体内容时,你知道你会花很多时间点击找到你要找的对象。

如果我们回到Person类的定义并添加属性,我们可以使监视窗口显示我们想要的任何内容。在这种情况下,我们将显示姓氏和名字的前5个字符(显示前5个只是为了展示灵活性)。

using System.Diagnostics;namespace VSTips.DebuggerDisplay
{[DebuggerDisplay("{LastName,nq}, {FirstName.Length >= 5 ? FirstName.Substring(0, 5) : FirstName,nq}")]class Person{public string FirstName { get; set; }public string LastName { get; set; }}
}

当您使用此调试器显示查看监视列表时,您看到的内容会更有帮助。

原文地址:https://www.codeproject.com/Articles/1280597/Visual-Studio-Tips-DebuggerDisplay

Visual Studio提示——DebuggerDisplay相关推荐

  1. Xamarin Visual Studio提示找不到AssemblyAttributes.cs文件

    Xamarin Visual  Studio提示找不到AssemblyAttributes.cs文件 错误信息:Could not find file 'C:\Users\[用户名]\AppData\ ...

  2. Visual Studio提示Bonjour backend初始化失败

    Visual Studio提示Bonjour backend初始化失败 错误信息:The Bonjour backend failed to initialize, automatic Mac Bui ...

  3. Visual Studio提示——使用数据提示

    数据提示,Visual Studio功能允许您将鼠标悬停在变量上并在调试时查看其值,这可能非常有用.以下是您可能不了解的一些技巧. 您是否一直在寻找数据提示,然后需要查看它们背后的代码?好消息,你可以 ...

  4. Visual Studio提示“无法启动IIS Express Web服务器”的解决方法

    有时,在使用Visual Studio运行ASP.NET项目时,会提示"无法启动IIS Express Web服务器",无法运行,如图: 这一般出现在重装系统之后,或者项目是从别的 ...

  5. 如何解决visual studio提示使用_CRT_SECURE_NO_WARNINGS的问题

    一段时间不写C++代码今天又忘了出现这个提示时应该把这句话添加到哪里了,今天索性在这里记录一下,以便日后查阅方便.由于高版本的visual studio默认不让使用scanf等函数,认为这些函数不够安 ...

  6. visual studio提示使用_CRT_SECURE_NO_WARNINGS

    由于高版本的visual studio默认不让使用scanf等函数,认为这些函数不够安全,而其相对应的代替函数为scanf_s等.如果在visual studio中使用scanf等那些visual s ...

  7. Visual Studio 2017 新功能(上)

    开发:快速导航.编写并修复代码 新的安装体验 - 降低了最小内存需求量以实现更快.更定制化的安装,并且支持脱机安装. Visual Studio IDE - 大幅改进了 Visual Studio 2 ...

  8. mysql2005编辑器用法,文本编辑器 - Visual Studio的隐藏功能(2005-2010)?

    文本编辑器 - Visual Studio的隐藏功能(2005-2010)? Visual Studio是如此庞大的产品,即使经过多年的努力,我偶尔偶然发现了一种新的/更好的方式来做我甚至不知道的事情 ...

  9. Visual Studio 2017下载地址和安装教程(图解版)

    Visual Studio 2017下载地址和安装教程(图解版) Visual Studio 2017不仅支持C#.C++.Python.Visual Basic.Node.js.HTML.JavaS ...

最新文章

  1. linux wc -l 对io,linux设备驱动归纳总结(五):2.操作硬件——IO内存
  2. sqlserver 字符串中添加单引号_Python3 教程-- 7、字符串
  3. Linux + RIL.pdf
  4. 三角形一点到三边距离最小_初中数学:相似三角形以及重心、向量问题考点整理...
  5. python没有那个文件或目录_fatal error: Python.h: 没有那个文件或目录 解决方法
  6. LeetCode 293. 翻转游戏
  7. ipv6的127位掩码如何表示_子网掩码为255.255.255.0代表的意思是什么?
  8. 终于有人把数据湖讲明白了
  9. CCF-CSP认证备考要点
  10. 深入了解JavaScript目录(持续更新)
  11. 微信小程序电商实战-购物车(下)
  12. 属性篇(2)—If you love css …
  13. 软件外包中常见的七个错误之一 - 不懂用户需求
  14. 一个完整的测试计划模板
  15. MyDriver2-397 XCTF 3rd-RCTF-2017 (windows 驱动题)
  16. 深度学习面试题集锦【1】
  17. [渝粤题库]西北工业大学中国古代法制史
  18. Linux 中设置计划任务(定时任务)
  19. rocksdb的基本操作
  20. PCI e 转 PXI 远程 转接 套件 PCI e / PXI 远程控制 器 模块 板卡

热门文章

  1. 神经网络的输出层有哪些_深度学习的数学-神经网络、输入层、隐藏层、输出层...
  2. MySQL回放_mysql回顾
  3. c++ map底层_Redis详解(四)------ redis的底层数据结构
  4. 转转参数信息服务器,转转登录服务器异常
  5. 经典商务未来科技海报PSD分层模板,以后绝对用得上
  6. 适用于Photoshop,Xd和Sketch的UI套件
  7. 电商促销海报PSD模板|临摹优秀,设计好的banner广告从试炼开始!
  8. 继承单例模式 php_解决 PhpStorm 对 用单例模式实例化PHP类时,代码自
  9. 不同型号的二极管模块并联_电阻可以串联,为何二极管不适合串联?
  10. Linux网络协议栈:Linux 中每个 TCP 连接最少占用多少内存?