Visual Studio:使用已知的GUID值

时间:2016-08-24 18:22:08

标签: c# visual-studio debugging

我正在调试我的应用程序,并希望在具有我知道的某个GUID的项目上设置断点。假设GUID如下:C5E46A52-E125-4A92-9C6B-8A6E775CDEE0。在Visual Studio中,我创建一个断点并设置条件。以下哪项性能影响较小:

someGuid.Equals(Guid.Parse( “C5E46A52-E125-4A92-9C6B-8A6E775CDEE0”))

OR

someGuid.ToString()。等于( “C5E46A52-E125-4A92-9C6B-8A6E775CDEE0”))

我的直觉是第二个选项更好,因为Parse函数可能有更严格的验证规则。我很想知道这是真的,如果我的直觉是准确的!

更新:我向朋友提到了这个,他运行了一些测试用例来检查性能。在他的测试中,字符串比较的性能提高了约5倍。

1 个答案:

答案 0 :(得分:0)

将您的代码更改为

if (someGuid.Equals(Guid.Parse("C5E46A52-E125-4A92-9C6B-8A6E775CDEE0"))) {
  ;
}

如果您真的担心性能,请将断点放在空语句上。或者,您可以明显地将GUID实例重构为静态字段,以避免一次又一次地创建它。

在大多数情况下,老实说,我不在乎。条件断点很慢,但通常不是 。当我有调试器不喜欢的表达式时,我倾向于使用上面的技术,但是对于性能恐惧也应该可以正常工作。