私はこの列挙を持っています:
Enum Lame_Bitrate
kbps_8 = 8
kbps_16 = 16
kbps_24 = 24
kbps_32 = 32
kbps_40 = 40
kbps_48 = 48
kbps_56 = 56
kbps_64 = 64
kbps_80 = 80
kbps_96 = 96
kbps_112 = 112
kbps_128 = 128
kbps_144 = 144
kbps_160 = 160
kbps_192 = 192
kbps_224 = 224
kbps_256 = 256
kbps_320 = 320
End Enum
そして、数値を指定して Enum の近似値を返したいと思います。
たとえば、数値がある190
場合は、Enum でより近似した値を見つけて192
(Enum の kbps_192 値) を返すことを期待します。数値がある場合は196
、値を返すことを期待します192
(次の値を返さない)。224
はあまり近似されていないためです)。
このようなもの:
Private Sub Test()
Dim wma_file As String = "C:\windows media audio file.wma"
Dim wma_file_Bitrate As Integer = 172
Dim mp3_bitrate_approximated As Integer
mp3_bitrate_approximated = Return_Approximated_Value_Of_Enum(wma_file_Bitrate)
End Sub
private function Return_Approximated_Value_Of_Enum(byval value as integer) as integer
return... enum.find(value).approximated...
end function
列挙型の他の数値を指定して、より近似した数値を見つけるためのフレームワーク メソッドはありますか?
私の質問を理解していただければ幸いです、ありがとう。
PS: 可能であれば、LINQ 拡張機能を使用したソリューションを好みます。