1

これらすべてを一緒に渡すか、まったく渡す必要がないため、いくつかのオプションの引数をタプルとして関数に渡します。タプルの要素を数値的に反復処理し、各項目に対して操作を実行できるようにしたいと考えています。例えば:

Public Function myFunction(Optional t As Tuple(Of Integer, String, SomeType) = Nothing) As Integer
    For i = 0 to 2
        someCollection(i).someMethod(t(i)) 'Pseudocode for accessing ith item in tuple
    Next
End Function

この問題を解決する 1 つの方法は、リストを使用することですが、そうすると、メンバーの数 (常に固定されます) と各メンバーの型を強制することができなくなります。t.Item1別の方法は、ステートメントを,などで3 回書き出すことt.Item2ですが、これは見苦しいです。

nthタプル内のアイテムにアクセスする方法はありますか?

注: 別のメソッド シグネチャを作成できることはわかっていますが、可能であればタプルを使用してこれを実現したいと考えています。

4

1 に答える 1

2

(もちろん、これを答えに変えます!)

便宜上、アイテムを配列に入れることができます。その時点では、型を維持することは実際には問題ではありません。なぜなら、それらすべてで同じことを行う場合、ある種の共通の基本クラスまたはインターフェイスが必要になるからです。

Dim a() As Object = {t.Item1, t.Item2, t.Item3}

次に、それを繰り返します。

于 2013-05-22T20:28:18.617 に答える