属性 在 .NET C# 中重新评估 属性

Property re-evaluation in .NET C# property

我有下面的 属性 计算整数列表的总和。

public int OpponentTotalSetPoints => TeamPoints.Skip(1).Sum(t => t);

我的问题是 属性 每次调用时都会重新计算吗?如果是这样,下面的代码存储该值是否有益,这样每次调用时都不会进行求和?

 private int? opponentTotalSetPoints;
        public int OpponentTotalSetPoints
        {
            get
            {
                if (opponentTotalSetPoints.HasValue)
                    return opponentTotalSetPoints.Value;

                opponentTotalSetPoints = TeamPoints.Skip(1).Sum(t => t);

                return opponentTotalSetPoints.Value;
            }
        }

我会用这样的东西

        private int? opponentTotalSetPoints;
        public int OpponentTotalSetPoints
        {
            get
            {
                if (opponentTotalSetPoints==null)
                   if (TeamPoints.Count >1)
                       opponentTotalSetPoints = TeamPoints.Skip(1).Sum(t => t);

                return opponentTotalSetPoints;
            }
        }