2016-09-01 4 views
-2

この問題は1ヶ月以上捜します。 それはこのように書きます: 私たちは、この時点では、文字列2つの文字列のリストから特定の組み合わせを得る

Dim List1 As New List(Of String) From {"a", "b", "c", "d"} ' and so on 
Dim List2 As New List(Of String) From {"e", "f", "g", "h", "i", "j"} ' and so on 

の2つのリストを持っている私たちは、すべての可能な組み合わせをループして保存する24個の可能な組み合わせ(LIST2とのList1)

Dim allCombo As Integer = List1.Count * List2.Count 

を持っているではありませんオプション。 ここで、どのような数式計算を適用して、組み合わせ番号13を 'c'に 'e'を返すようにすることができます。または 'd'で 'j'のように24などです。 私はこれに立ち往生しています、誰かが私を助けることができますか? ありがとうございます!あなたの例では

+0

、Cは、インデックス2であり、Eは指数0であるので、どのように13プレイしていますか? –

+0

'Dim element13 = List1.SelectMany(Function(a)List2.Select(Function(b)a&b))。ElementAt(13)'それは 'cf'です。なぜすべての可能な組み合わせがオプションではないのか分かりません。 – Plutonix

+0

@ShannonHolsinger、私の間違い、私はそれを認識しています! -1をしなかったが、今はokだ。 –

答えて

1
Function GetIndex(index As Integer) As String 
    Dim List1 As New List(Of String) From {"a", "b", "c", "d"} 
    Dim List2 As New List(Of String) From {"e", "f", "g", "h", "i", "j"} 

    Dim intIndex0 As Integer = index - 1 'convert to 0-based 
    Dim index1 As Integer = intIndex0 \ List2.Count 'integer division 
    Dim index2 As Integer = intIndex0 Mod List2.Count 'modulo (remainder) 
    Return List1(index1) & List2(index2) 
    End Function 
+0

OK、間違った方法でindex2をやっていたので、私は間違いを見ました!ありがとうございました ! +1 –

+0

ようこそ。数学は、2次元グリッドのすべてのセルを繰り返し処理するのと同じです(たとえば、List1が行、List 2が列になる可能性があります)。ハッピープログラミング! – SSS

0
Dim L1 = "abcd" ' 4 
    Dim L2 = "efghij" ' 6 

    Dim i = 13 
    Dim indexInL1 = (i - 1) \ L2.Length ' 12 \ 6 = 2 
    Dim indexInL2 = (i - 1) Mod L2.Length ' 12 Mod 6 = 0 

    Dim result = L1(indexInL1) & L2(indexInL2) ' "ce" 
関連する問題