1

コード全体で次の構造を何度も使用して、一連のデータを関数に渡します。

Public Structure MyStruct
    Dim ResourceID As String
    Dim RSRCName As String
    Dim CommercialType As String
    Dim ParticipantName As String
    Dim ASReserveZone As String
    Dim SCADAStatusQuality As String
    Dim SCADAStatus As String
    Dim SCADAMWQuality As String
    Dim ManualDispatchReason As String

    Dim RegUpQual As Boolean
    Dim RegDownQual As Boolean
    Dim SuppQual As Boolean
    Dim SpinQual As Boolean
    Dim UseEmergencyLimits As Boolean
    Dim FollowLastDispatch As Boolean

    Dim ASOfferCurveDict As HybridDictionary

    Dim XIC As Integer
    Dim PriceBased As Integer
    Dim PNodeID As Integer
    Dim Committed As Integer
    Dim CommitmentStatus As Integer
    Dim ManualDispatch As Integer
    Dim LastApprdNumOfIntervalsToMax As Integer

    Dim MWCurve() As Double
    Dim EnergyOfferCurve() As Double
    Dim PlannedMW As Double
    Dim SCADAMW As Double
    Dim InitialOnHours As Double
    Dim LastApprdDispatchMW As Double
    Dim TotalRampedCRDeployMW As Double
End Structure

Dim Struct as MyStruct

データをリセットするために使用できますStruct = Nothingが、構造を繰り返し処理して、すべての数値をに設定したいと思います999999999。これを行う方法はありますか?

4

1 に答える 1

3

リフレクションでそれを行うことはできますが、私は必ずしもそれをお勧めしません。すべての値をデフォルト値に設定するClearorメソッドを構造に追加するだけです。Reset別のオプションは、フィールドが宣言されたときにデフォルト値を設定することです。

Public Structure MyStruct
    ' ...
    Dim XIC As Integer = 999999999
    Dim PriceBased As Integer = 999999999
    Dim PNodeID As Integer = 999999999
    ' ...
End Structure

次に、変数をすべてのデフォルト値にリセットするには、次のようにします。

myVariable = New MyStruct()

また、何らかの理由で本当に構造体である必要がない限り、これをクラスに変更する必要があります。スタック上で常に渡されるのは非常に多くのデータです。

于 2013-02-15T15:13:27.483 に答える