C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 構造体の配列の中に構造体の配列を入れたい


(過去ログ 135 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■79478 / inTopicNo.1)  構造体の配列の中に構造体の配列を入れたい
  
□投稿者/ WAN (16回)-(2016/04/06(Wed) 22:05:25)

分類:[VB.NET/VB2005 以降] 

2016/04/06(Wed) 22:10:46 編集(投稿者)
2016/04/06(Wed) 22:08:40 編集(投稿者)
2016/04/06(Wed) 22:07:49 編集(投稿者)
2016/04/06(Wed) 22:06:38 編集(投稿者)

失礼致します。

環境はVisual Studio 2012の環境下で、言語はVB2012、.netフレームワークは3.0です。

構造体の配列の中に構造体の配列を入れたいと思っております。

Public Structure hoge
Public data() As String

Sub New(a As String)
ReDim data(4)
End Sub
End Structure

Dim test As hoge = New hoge("")

上記のソースで

test.data(i)

という使い方まではできるようになりました。

test(x).data(i)

上記のような形で使用できるようにすればどのようにすれば良いか
知恵をお借りできたらと思います。

宜しくお願いします。
引用返信 編集キー/
■79479 / inTopicNo.2)  Re[1]: 構造体の配列の中に構造体の配列を入れたい
□投稿者/ Azulean (628回)-(2016/04/06(Wed) 22:25:07)
No79478 (WAN さん) に返信
> test(x).data(i)
>
> 上記のような形で使用できるようにすればどのようにすれば良いか
> 知恵をお借りできたらと思います。


String の配列は以下のように実現できたのですよね?

> Public data() As String
>
> Sub New(a As String)
> ReDim data(4)
> End Sub

そうであれば、hoge の配列も () をつければよさそうといったように考えていきましょう。

> Dim test As hoge = New hoge("")
引用返信 編集キー/
■79480 / inTopicNo.3)  Re[2]: 構造体の配列の中に構造体の配列を入れたい
□投稿者/ WAN (17回)-(2016/04/06(Wed) 22:37:33)
2016/04/06(Wed) 22:39:22 編集(投稿者)

ご返答ありがとうございます。

Dim test() As hoge = New hoge("")

とようにすると「一次元配列に変換できません」というエラーが発生してしまいます。
()を付ける場所が間違っているのでしょうか。
引用返信 編集キー/
■79481 / inTopicNo.4)  Re[3]: 構造体の配列の中に構造体の配列を入れたい
□投稿者/ Azulean (629回)-(2016/04/07(Thu) 06:39:54)
No79480 (WAN さん) に返信
> Dim test() As hoge = New hoge("")
>
> とようにすると「一次元配列に変換できません」というエラーが発生してしまいます。
> ()を付ける場所が間違っているのでしょうか。

test は配列になったのですから、それに1つの hoge を設定しようとしているのでエラーになっています。

1.配列の作成(何個の配列にするか)
2.配列(入れ物)に対して1個ずつ hoge を作成(N 番目にどういった hoge を入れる)

参考例として。
http://jeanne.wankuma.com/tips/vb.net/array/new.html
引用返信 編集キー/
■79491 / inTopicNo.5)  Re[4]: 構造体の配列の中に構造体の配列を入れたい
□投稿者/ WAN (18回)-(2016/04/07(Thu) 22:20:14)
お返事ありがとうございます。

for文でループをかけて
NEWすることで解決しました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -