none
VS2008的调试环境下,是否能够方便的比较两个结构变量的值异同。 RRS feed

  • 问题

  • 背景是这样的,有一个比较复杂的结构,在多个地方都会有这个类型的变量。
    经常需要在调试的时候看看,两个变量之间是否一样,或者不同的地方在哪里。
    好像现有的调试窗口都没有这个功能,谁知道有什么插件可以做这个吗??
    Roland
    2010年2月1日 7:00

答案

  • 你好!
         你在监视窗口中输入struct1.Equals(struct2)就可以比较了!这个方法是遵循“值相等”语义的,内容相同,两个值类型的实例才认为相等!
         另外,这个方法性能不好,使用反射来实现的!所以建议你重写这个方法!我个人建议,如果比较成员很多还是定义成class比较合适!
    周雪峰
    • 已标记为答案 RolandXu 2010年2月2日 6:57
    2010年2月1日 9:27
    版主

全部回复

  • 你好!
         你在监视窗口中输入struct1.Equals(struct2)就可以比较了!这个方法是遵循“值相等”语义的,内容相同,两个值类型的实例才认为相等!
         另外,这个方法性能不好,使用反射来实现的!所以建议你重写这个方法!我个人建议,如果比较成员很多还是定义成class比较合适!
    周雪峰
    • 已标记为答案 RolandXu 2010年2月2日 6:57
    2010年2月1日 9:27
    版主
  • 谢谢您的答复。
    您的方法没有解决我的问题,看来是没有这样的东西了。
    我主要是需要直观的把两个变量的值都列出来,让我看看不一样的地方在哪里。
    并且这是个调试功能,性能上慢点无所谓。


    Roland
    2010年2月2日 6:55