0

在下面的代码中,我试图根据 InspectionKey 将一个变量 (bestInsp) 设置为等于集合 (Inspections) 中的最新变量。

我在 for 循环中使用了 print 语句,发现循环正常工作。但是,当我尝试在 For 循环之外使用 bestInsp 变量时,它不会保留我设置的值。根据我的研究,我认为这是一个块作用域问题,解决方案说要在 For 循环之外初始化变量(我已经这样做了),但它仍然不起作用。有什么我忽略的吗?

Dim res As Result
Dim insp As Hansen.CDR.Building.IInspection
Dim bestInsp As Hansen.CDR.Building.IInspection
Dim oldKey As Integer = 0
Dim bestKey As Integer = 0
AddMaxFee = False

For Each insp In oBldgApp.Inspections
  If insp.InspectionType.Code = "Foundation" Then
    If insp.InspectionResult.Code.Length > 0 Then
      oldKey = insp.InspectionKey
      If oldKey >= bestKey Then
        bestKey = oldKey
        bestInsp = insp
      End If
    End If
  End If
Next

If bestInsp.InspectionResult.Code.ToUpper = "FAILED" Then
  AddMaxFee = True
End If

编辑:我通过删除解决了这个问题

Dim bestInsp As Hansen.CDR.Building.IInspection

并重新添加它。我猜我的编译器只是弄糊涂了?

4

0 回答 0