答案 0 :(得分:1)
你的观察不能一概而论。 IDE通常在调试期间进行更改,尤其是在属性具有副作用的情况下。
以下C#代码:
using System;
namespace EvaluateChangesValue
{
class Program
{
static void Main()
{
var program = new Program();
Console.WriteLine(program.Value);
Console.ReadLine();
Console.WriteLine(program.Value);
Console.ReadLine();
}
private int member;
private int Value => member++;
}
}
在第一个ReadLine()
设置断点,然后将program.Value
添加到监视窗口,看看由于member++
语句值如何增加。
在Java和Eclipse中,由于以下原因,制作相同的证据有点困难:
代码类似于C#:
public class Program {
public static void main(String[] args)
{
Program p = new Program();
System.out.println(p.member);
System.console().readLine();
System.out.println(p.member);
System.console().readLine();
}
private int member;
public int getMember()
{
return member++;
}
}
截图: