我只是想知道在性能和最佳實踐方面推薦採用以下哪種方法。是否有任何性能差異?C#深入訪問對象性能
if (objA.objB.objC.objD.objE != null)
{
objX.var1 = objA.objB.objC.objD.objE.prop1;
objX.var2 = objA.objB.objC.objD.objE.prop2;
objX.var3 = objA.objB.objC.objD.objE.prop3 + objA.objB.objC.objD.objE.prop4;
......
......
}
or
var objonlyE = objA.objB.objC.objD.objE
if (objonlyE != null)
{
objX.var1 = objonlyE.prop1;
objX.var2 = objonlyE.prop2;
objX.var3 = objonlyE.prop3 + objonlyE.prop4;
......
......
}
可能存在性能上的差異卻是不明顯的。 – mdcuesta
這是一個不好的設計遺憾地說: – paritosh
你知道編譯器會找到一個直接訪問屬性的權利? –