2017-10-25 15 views
0

私はこのような構造を定義しています便利で、構造がよく、読みやすい方法。便利な方法は

このようなことが可能かどうか質問したいと思いますか?

Dim n As New List(Of udtString2) 

'Pseudocode 

n.Add(udtString2("TextA1", "TextA2")) 
n.Add(udtString2("TextB1", "TextB2")) 

またはこのようにうまく表示できるように他にもある場合は、

+0

を、私の代わりに構造体を使用する方法については非常に慎重になるだろう値のセマンティクスが驚くべき動作を引き起こす可能性があるためです。構造体のメンバが参照型の場合は、頭を囲むのがさらに難しくなります。 – Craig

答えて

1

あなたはこれを試みることができる:

n.Add(New udtString2() With { .String1 = "TextA1", .String2 = "TextB1" }) 
... 
... 
... 

また、あなたではなく、その後n.Addを呼び出すよりも、それをよりコンパクトにするためにコレクション初期化子を使用することができます。

2

があなたの構造のコンストラクタを定義します。

Private Structure udtString2 
    Dim String1 As String 
    Dim String2 As String 

    Public Sub New (s1 as String, s2 As String) 
     String1 = s1 
     String2 = s2 
    End Sub 
End Structure 

次に、あなたがしたい、ほぼどのようにそれを使用することができます。

質問への接線
n.Add(new udtString2("TextA1", "TextA2")) 
n.Add(new udtString2("TextB1", "TextB2")) 
+0

以前と同じように使用したい場合は、パラメーターのないコンストラクターを追加します。 – ps2goat

関連する問題