我只是想知道在性能和最佳实践方面推荐采用以下哪种方法。是否有任何性能差异?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
你知道编译器会找到一个直接访问属性的权利? –