我只想知道就性能和最佳实践而言,建议采用以下哪种方法。性能上有区别吗?

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;
   ......
   ......
}

最佳答案

第二个更好,因为您永远不知道'。'后面隐藏着什么。它可能是数据库调用或其他昂贵的操作。

关于c# - C#深度访问对象性能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14069343/

10-12 00:32