这可能是一个愚蠢的问题。我知道编译器会删除未使用的本地人。但是如果我这样写我的代码:
class MyClass
{
public int SomeProperty
{
get
{
...
}
}
public void SomeFunction ()
{
//will this line be removed if i is never used?
int i = SomeProperty;
...
}
}
我想知道 ifi
会因为优化而被编译器删除。SomeProperty
我希望执行的 getter 中有逻辑。如果i
将被删除,我必须更改SomeProperty
为一个函数。
顺便说一句,有没有办法知道编译器会优化哪一行?