• ベストアンサー

Array 関数について

以前、成分解析プログラムで質問したものです。 あれからどうにかこうにかなっていますが、 どうしてもわからないものがあります。 それはArray関数です。 VBSでは「配列が格納されたバリアント型 (Variant) の値を返します。」とありますが、 それに相当する関数の類はVB.NETではいまいちわかりません。 どういう関数を使えばよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

Dim Ary As Variant Ary = Array(1, 2, 3) ↓ .NETだと・・ Dim Ary() As Object Ary = New Object() {1, 2, 3} みたいな感じだったかな? .NETなら「Object」は任意の型にできます。

emesh
質問者

補足

ありがとうございます。 ただ、arrayをオブジェクトにしたら デバッグは出来るんですが、「○○の成分解析結果」が出なくなりました。 問題のソースコードを書いておきますが・・・。 Dim SortBox(), Result(), Key, Index As Object ReDim SortBox(Dict.Count - 1), Result(Dict.Count - 1) Index = 0 For Each Key In Dict.Keys() SortBox(Index) = New Object() {Dict(Key), CInt(Key)} Index = Index + 1 Next ですね。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

初期設定でなくて、まとめて設定できなくても、別段なんの問題も無いような気がします。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

Array関数は、VB.NETではサポートしないとヘルプにあります。 引用 「Visual Basic 6.0 では、Array ステートメントを使用して 1 つの手順で配列の要素に値を代入して、配列が格納されたバリアント型 (Variant) を返していました。Array 関数は Visual Basic .NET ではサポートされていません。」 というわけでそのような関数はないのですが、 単に初期値の設定で使っているのであれば、 VB.NETでは、 Dim A1() As Integer = {0, 1, 2, 3} のように書いて初期値を設定できますから、置き換えることができるでしょう。

emesh
質問者

補足

うーんサポートしてないんですか。実は初期値の設定じゃないっぽいんですよ。

noname#20377
noname#20377
回答No.1

試してないし自信なし。ArrayListだかCollectionオブジェクトのようなものじゃだめかな? http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard27.htm Genericsとかも読んでおくとためになるかも http://naka.wankuma.com/site/kaisetu/dotnet/2.0_generics/generics1.htm

関連するQ&A