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

解決


まさお  2012-11-30 22:50:04  No: 147984

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

  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 22:51:34  No: 147985

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

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


さがの  2012-12-01 01:04:19  No: 147986

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

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


さがの  2012-12-01 01:06:02  No: 147987

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

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


まさお  2012-12-05 22:49:53  No: 147988

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

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

> 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-06 02:35:07  No: 147989

# 一部にのみ反応

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

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


まさお  2012-12-06 17:50:22  No: 147990

閉じます。

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加