まさお と申します。 宜しくお願い致します。
WinXP Pro SP3,VB2010 Express SP1 です。
Dictionary で Keys を配列として一気に取得する方法があれば教えてください。
VB6ならば
Dim DicTest as New Dictionay
Dim vKeys as Variant, vKey as Variant
vKeys = DicTest.Keys '※
For Each vKey In vKeys
…
Next
というようにできます。
VB.net で ※部のように配列として一気に取得する方法はありますでしょうか?
以上、宜しくお願い致します。
自己レスです。
表題を間違えました。
「Dictionary.Keys を配列に一気に取得する方法」
^^^
です。
VB2010なので、DictionaryとはDictionary(Of TKey, TValue)のことですか?
DicTest.KeysでKeyCollectionが取得できますよ。
DicTest.Keys.ToArrayで配列にすることもできます。
(そもそも、Dictionary.Keysって配列でしたっけ?)
> (そもそも、Dictionary.Keysって配列でしたっけ?)
上の意味は、「VB6のDictionary.Keysって配列でしたっけ?」という意味です。
さがの さん、ありがとうございました。
返事が遅くて申し訳ありませんでした。
> DictionaryとはDictionary(Of TKey, TValue)のことですか?
>
ハイ。 そうです。
> DicTest.KeysでKeyCollectionが取得できますよ。
>
ハイ。 それは知っていました。
For Each _Key As String In DicTest.Keys
は良く使っています。
今回、ある理由があり
Dim _Keys() As String = DicTest.Keys.ToArray
のようにしたかったのです。
戴いたアドバイス .Keys.ToArray で取得できました。
ありがとうございました。
解決しました。
暫くしたら閉じます。
# 一部にのみ反応
> VB6のDictionary.Keysって配列でしたっけ?
VB6の……というと語弊がありますが、
Scripting.Dictionary オブジェクトの「Keys メソッド」は
一次元配列を格納した Variant 型を返しますね。
閉じます。
さがの さん、魔界の仮面弁士 さん、ありがとうございました。
ツイート | ![]() |