如果我有一个被频繁调用的方法,比如:
public int CalledManyTimes(int a, int b)
{
MyObject myObject = new myObject();
int c = a + b + myObject.GetSomeValue();
return c;
}
将MyObject myObject;
放在方法之外,仅声明一次,是否会提高性能,还是编译器会自动执行这个操作?
结构体的传递方式是怎样的?
我正在将一个Point结构传递给一个方法(Point只包含int x和int y),该方法会修改这些值并返回一个new Point(newX, newY);
。更好的做法是修改传入方法的Point并返回它吗?或者可以像我第一个问题中提出的那样,在方法之外创建一个Point point
并使用它吗?
myObject
在循环中似乎没有改变 - 所以在方法外部创建它一次就可以了。此外,如果你可以传递ref Point
并修改它,那么就不需要额外的new Point
开销了。即使只是2-3个周期,在实时应用中这可能会累加成很多。 - AVIDeveloper