Dictionay.Keys を配列に一気に取得する方法

解決


まさお  2012-11-30 13:50:04  No: 147984  IP: [192.*.*.*]

まさお と申します。  宜しくお願い致します。

  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 で ※部のように配列として一気に取得する方法はありますでしょうか?


以上、宜しくお願い致します。

編集 削除
まさお  2012-11-30 13:51:34  No: 147985  IP: [192.*.*.*]

自己レスです。
表題を間違えました。

「Dictionary.Keys を配列に一気に取得する方法」
         ^^^
です。

編集 削除
さがの  2012-11-30 16:04:19  No: 147986  IP: [192.*.*.*]

VB2010なので、DictionaryとはDictionary(Of TKey, TValue)のことですか?
DicTest.KeysでKeyCollectionが取得できますよ。
DicTest.Keys.ToArrayで配列にすることもできます。

(そもそも、Dictionary.Keysって配列でしたっけ?)

編集 削除
さがの  2012-11-30 16:06:02  No: 147987  IP: [192.*.*.*]

> (そもそも、Dictionary.Keysって配列でしたっけ?)

上の意味は、「VB6のDictionary.Keysって配列でしたっけ?」という意味です。

編集 削除
まさお  2012-12-05 13:49:53  No: 147988  IP: [192.*.*.*]

さがの さん、ありがとうございました。

  返事が遅くて申し訳ありませんでした。

> 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 で取得できました。


  ありがとうございました。
  解決しました。


  暫くしたら閉じます。

編集 削除
魔界の仮面弁士  2012-12-05 17:35:07  No: 147989  IP: [192.*.*.*]

# 一部にのみ反応

> VB6のDictionary.Keysって配列でしたっけ?

VB6の……というと語弊がありますが、
Scripting.Dictionary オブジェクトの「Keys メソッド」は
一次元配列を格納した Variant 型を返しますね。

編集 削除
まさお  2012-12-06 08:50:22  No: 147990  IP: [192.*.*.*]

閉じます。

  さがの さん、魔界の仮面弁士 さん、ありがとうございました。

編集 削除