- ベストアンサー
Array 関数について
以前、成分解析プログラムで質問したものです。 あれからどうにかこうにかなっていますが、 どうしてもわからないものがあります。 それはArray関数です。 VBSでは「配列が格納されたバリアント型 (Variant) の値を返します。」とありますが、 それに相当する関数の類はVB.NETではいまいちわかりません。 どういう関数を使えばよいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Dim Ary As Variant Ary = Array(1, 2, 3) ↓ .NETだと・・ Dim Ary() As Object Ary = New Object() {1, 2, 3} みたいな感じだったかな? .NETなら「Object」は任意の型にできます。
その他の回答 (3)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
初期設定でなくて、まとめて設定できなくても、別段なんの問題も無いような気がします。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
Array関数は、VB.NETではサポートしないとヘルプにあります。 引用 「Visual Basic 6.0 では、Array ステートメントを使用して 1 つの手順で配列の要素に値を代入して、配列が格納されたバリアント型 (Variant) を返していました。Array 関数は Visual Basic .NET ではサポートされていません。」 というわけでそのような関数はないのですが、 単に初期値の設定で使っているのであれば、 VB.NETでは、 Dim A1() As Integer = {0, 1, 2, 3} のように書いて初期値を設定できますから、置き換えることができるでしょう。
補足
うーんサポートしてないんですか。実は初期値の設定じゃないっぽいんですよ。
試してないし自信なし。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
補足
ありがとうございます。 ただ、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 ですね。