を使用してVB.netでの構造体配列のメンバーを反復処理する方法:私はその後、翻訳するために使用される構造要素を定義し私はこのようになりますvb.net列挙持つメンバ関数
' define enumeration for keypad states
Enum KeyPadState
KEYPAD_NO ' no keypad
KEYPAD_UC ' upper case keypad
KEYPAD_LC ' lower case keypad
KEYPAD_NU ' numeric keypad
KEYPAD_SY ' symbol keypad
End Enum
を上記の列挙型のメンバを列挙値から文字列値に変換して戻します。宣言された構造は以下のようになります。私が挿入しようとしているメンバ関数に注意してください。 「新しい」ものが機能しています。
' define keypad type look up structure
Private Structure KeyPadXlat
Dim KeyPadEnum As KeyPadState
Dim KeyPadStr As String
' initializer subroutine
Public Sub New(nKeyPadEnum As KeyPadState, nKeyPadStr As String)
KeyPadEnum = nKeyPadEnum
KeyPadStr = nKeyPadStr
End Sub
' translate string to enum
Public Function ToEnum(xKeyPadStr As String) As KeyPadState
For Each item As KeyPadXlat In ????
Next
End Function
' translate enum to string
Public Function ToStr(xKeyPadEnum As KeyPadState) As String
End Function
End Structure
構造体配列の実際のインスタンスを、イニシャライザコードとともに以下に示します。
Dim KeyPadLookUp() As KeyPadXlat = { _
New KeyPadXlat(KeyPadState.KEYPAD_NO, "KEYPAD_NO"), _
New KeyPadXlat(KeyPadState.KEYPAD_UC, "KEYPAD_UC"), _
New KeyPadXlat(KeyPadState.KEYPAD_LC, "KEYPAD_LC"), _
New KeyPadXlat(KeyPadState.KEYPAD_NU, "KEYPAD_NU"), _
New KeyPadXlat(KeyPadState.KEYPAD_SY, "KEYPAD_SY") _
}
私の質問は、列挙値と文字列値の間を行き来するように作成しようとしているメンバー関数に関してです。私は参考のために、再びここではそれらのいずれかをコピーした:私は助けを必要と何
' translate string to enum
Public Function ToEnum(xKeyPadStr As String) As KeyPadState
For Each item As KeyPadXlat In ????
Next
End Function
はにいるとき、それは、構造体配列の要素のすべてにわたって反復するようにFor Eachループのコードを記述する方法でありますメンバー関数
ループは必要ありません。 'Enum'クラスには、すでに必要なものがすべてあります。 – jmcilhinney