• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:構造体 多段階配列について)

構造体 多段階配列についての説明

このQ&Aのポイント
  • 多段階配列についての説明とその使い方
  • 構造体と多段階配列の関係と、要素の取り出し方について
  • 多段階配列の要素を取り出す方法についての質問

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

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

#1 Wizard_Zeroです。連投失礼します。 Array.ConvertAllを使えばもう少しスマートになりました。 ConvertAllで使用するSystem.Converterデリゲートのメソッドを次のように定義しておきます。 Private Function Converter(ByVal value As test) As Integer Return value.a End Function あとは、Array.ConvertAllを使ってtest配列をInteger配列に変換すればOK。 Dim c()() As test c = New test()() {a, b} Dim temp() As Integer = Array.ConvertAll(Of test, Integer)(c(0), AddressOf Converter) ' 確認用 For Each intEnum As Integer In temp Call Console.WriteLine(intEnum) Next

kohimin
質問者

お礼

なるほど~ すごいですね~~。 スマートです^^

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

> 気持ち的にはこのようにしたいのですが > temp = c(0).a わかりますわかります。。。 でも、やっぱり配列をまわして順番に取り出すしかないと思います。 Integer() = test().a になっているので、これでは変換できませんからね・・・。 Dim c()() As test c = New test()() {a, b} Dim temp() As Integer = {} Call Array.Resize(temp, c(0).Length) For index As Integer = 0 To c(0).GetUpperBound(0) temp(index) = c(0)(index).a Next ' 確認用 For Each intEnum As Integer In temp Call Console.WriteLine(intEnum) Next

kohimin
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A