我一直在尋找運算符重載的C#基本的例子:C#運算符重載性能
public static Vector operator + (Vector lhs, Vector rhs)
{
Vector result = new Vector(lhs);
result.x += rhs.x;
result.y += rhs.y;
result.z += rhs.z;
return result;
}
,我想知道,性能方面會是重載+操作這樣的是一回事嗎?
public static Vector operator + (Vector lhs, Vector rhs)
{
Vector result = new Vector();
result.x = rhs.x + lhs.x;
result.y = rhs.y + lhs.y;
result.z = rhs.z + lhs.z;
return result;
}
與第一個和第二個例子有什麼不同嗎?什麼是最好的解決方案,爲什麼?
爲什麼你要問我們嗎?嘗試一下,剖析它,看看它是否足夠滿足您的用例,完成。 – Luaan
如果您可以在'a + = b;'和'a = a + b'之間測量任何差異,我會感到非常驚訝; – Falanwe
現在不用擔心它,使其工作,使其可讀,如果後來你發現它是性能瓶頸,然後擔心它。這是一個*過早的優化*。 *(我相信不會有任何性能差異,即使存在,也可以忽略不計)*。 – Habib