vb6 tuples built-in

VB6 Tuple Equivalente?



tuples built-in (4)

Las colecciones de variantes pueden ser bastante flexibles y, a menos que realmente las supere, el rendimiento no es un problema:

Private Sub SomeCode() Dim Pair As Variant Dim ListOfPairs As Collection Set ListOfPairs = New Collection With ListOfPairs Pair = Array("this", "that") .Add Pair .Add Array("herp", "derp") .Add Array("weet", "tweet") MsgBox .Item(1)(0) ''Item index is base-1, array index base-0. Pair = .Item(2) MsgBox Pair(1) ReDim Pair(1) Pair(0) = "another" Pair(1) = "way" .Add Pair MsgBox .Item(4)(1) End With End Sub

Estoy portando un código C # a VB6 porque las aplicaciones heredadas. Necesito almacenar una lista de pares. No necesito hacer búsquedas asociativas, solo necesito poder almacenar pares de elementos.

El fragmento del que estoy transfiriendo se ve así:

List<KeyValuePair<string, string>> listOfPairs;

Si tuviera que portar esto a C ++, usaría algo como esto:

std::list<std::pair<string, string> > someList;

Si esto fuera Python, usaría una lista de tuplas.

someList.append( ("herp", "derp") )

Estoy buscando un tipo de biblioteca, pero me conformaré con otra cosa si es necesario. Estoy tratando de ser PEREZOSO y no tener que escribir cYetAnotherTinyUtilityClass.cls para obtener esta funcionalidad, o recurrir a la manipulación de cadenas tan a menudo abusada.

Intenté buscar en Google, pero VB6 no está bien documentado en línea, y mucho de lo que hay está desafiado. Si alguna vez has visto BigResource , sabrás a qué me refiero.



Podrías usar una colección

dim c as new collection c.add "a", "b"


Si es literalmente solo para almacenamiento, puede usar un Type :

Public Type Tuple Item1 As String Item2 As String End Type

Es un poco más conciso que necesitar una clase para hacer el almacenamiento.

El problema con los Types (conocidos más ampliamente como UDT) es que existen restricciones sobre lo que puede hacer con ellos. Puede hacer una matriz de UDT. No puedes hacer una colección de UDT.

En términos de .Net son más similares a Struct .

Hay un recorrido de los conceptos básicos aquí o aquí .