C#调试
偶然发现:
今天C#打断点调试时,我声明了声明了数组和变量,并打了断点F5启动调试当进行到
while (Array[++StartPoint] < Array[StartPoint - 1] && StartPoint < Array.Length)
时,我在watch的Name中键入Array[++StartPoint]后,本来初始值int StartPoint = 0;的,本以为结果Array[++StartPoint]等价于Array[0]的但却是
Array[1],
我还以为我的编译器中毒了呢?hehe...但经过几经调试并不是这样。每次都会加1.
具体原理我还真不知道(也可能似懂非懂:因为++profile,--profile具有最高优先级,watch会去执行++profile在去查看Array[++StartPoint]吧)只能暂时当做Watch查看也有F11的调试功能了...