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

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

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

ArrayListの使い方

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

■90629 / inTopicNo.1)  ArrayListの使い方
  
□投稿者/ TanuTanu (22回)-(2019/03/26(Tue) 20:37:27)

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

すいません。ご教授お願い致します。
下記警告の解消が解らないのです。

SG_SN_Valuesは、値が割り当てられる前に使用されています。Null 参照の例外が実行時に発生する可能性があります。

Dim SG_SN As New ArrayList
Dim SG_SN_Values() As String

繰り返し SG_SN.Add(obj.VALUE)

SG_SN_Values = DirectCast(SG_SN.ToArray(GetType(String)), String()) ・・・ここに適当に代入すればいいのでしょうがどのようにコーティングすれば良いのでしょうか?

IF SG_SN_Values(0)<>"" THEN

宜しくお願いいたします。

VS:VS2017 OS:WIN7
引用返信 編集キー/
■90631 / inTopicNo.2)  Re[1]: ArrayListの使い方
□投稿者/ TanuTanu (23回)-(2019/03/26(Tue) 23:02:07)
Dim SG_SN_Values() As String = New String() {"いち", "に", "さん"}でいいのかなあ?

List(Of String)だとキャスト不要なんですね。

明日、テストして上手く言ったら自己解決させて頂きます。

ど素人の質問で失礼致しました;


引用返信 編集キー/
■90632 / inTopicNo.3)  Re[2]: ArrayListの使い方
□投稿者/ moyo (1回)-(2019/03/26(Tue) 23:12:48)
2019/03/26(Tue) 23:38:40 編集(投稿者)
2019/03/26(Tue) 23:21:24 編集(投稿者)

<pre><pre>■No90631 (TanuTanu さん) に返信

ArrayListの要素にはどんな型でも格納できますが、取り出すときには必ずキャストします。
ArrayList内の文字列要素を取り出したい場合は以下のようにします。

Dim SG_SN As New ArrayList
SG_SN.AddRange(New Object() {"1", "2", "3", 4, 5, 6, Date.Now})
Dim SG_SN_Values() As String = SG_SN.OfType(Of String).ToArray

引用返信 編集キー/
■90633 / inTopicNo.4)  Re[3]: ArrayListの使い方
□投稿者/ TanuTanu (24回)-(2019/03/27(Wed) 09:34:02)
moyo 様

ありがとうございます。

今度は宣言されていませんのエラーが出ました;;
調べた結果、宣言強制の仕様のせいなのですね。

結局、LISTだと警告が消えました^^

また何かありましたら宜しくお願いいたします。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ