---
title: "Omdimensionera array rätt..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/117158-omdimensionera-array-rätt"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "mrblonde"
published: "2004-12-02T08:29:22.000Z"
updated: "2004-12-02T10:15:45.000Z"
replies: 1
views: 288
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/117158-omdimensionera-array-rätt"
---

# Omdimensionera array rätt...

## #1 — mrblonde, 2004-12-02T08:29Z

Hej, jag får spatt i huvet av att tänka på detta.

Jag har en egen Type array som heter user.groups() som har två fält user.groups().name och user.groups().type

I ett visst fal måste jag dynamiskt utöka den här arrayen enligt följande logik.

Det kommer alltid att finnas 2 grupper, så koden startar emd detta:

```
Redim User.Groups(1)
User.groups(0).Name = "Grupp1"
User.groups(0).Type = "Type1"

User.groups(1).Name = "Grupp2"
User.groups(1).Type = "Type1"
```

Sen har jag en variabel som innehåller ihop pipe:ade gruppnamn. För varje gruppnamn som finns i den här variabeln skall jag skapa 3 grupper.
Tillexempel:

```
strVariable = "namn3|namn4"
'skall resulterar i:
User.groups(2).Name = "namn3" & strSpecialNamnstillägg1
User.groups(2).Type = "Type1"
User.groups(3).Name = "namn3" & strSpecialNamnstillägg2
User.groups(3).Type = "Type1"
User.groups(4).Name = "namn3" & strSpecialNamnstillägg3
User.groups(4).Type = "Type1"
User.groups(5).Name = "namn4" & strSpecialNamnstillägg1
User.groups(5).Type = "Type1"
User.groups(6).Name = "namn4" & strSpecialNamnstillägg2
User.groups(6).Type = "Type1"
User.groups(7).Name = "namn4" & strSpecialNamnstillägg3
User.groups(7).Type = "Type1"
```

Jag började skriva kod för att splitta strVariable på \| men sen när jag skulle få ihop redimmandet och loopen mm fick jag hjärnsläpp. Jag känner mig helt sne i huvet. Hjälp!

```
v_Variable = Split(strVariable,"|")
i = ((UBound(v_Variable)+1)*3)+1 'HÄR FICK JAG SLAG!

ReDim Preserve User.Groups(i)

For i = 2 To UBound(User.Groups) Step 3
 '...
Next
```

Permalänk: https://www.webforum.nu/p/117158

## #2 — mrblonde, 2004-12-02T10:15Z

Jag hade tänkt rätt, i princip blev koden såhär:

```
   User.Groups(0).Name ="Standard1"
   User.Groups(1).Name = "Standard2"

v_Variable = Split(strVariable,"|")
i = ((UBound(v_Variable)+1)*3)+1 'Detta blev rätt

ReDim Preserve User.Groups(i)

k = 0
For i = 2 To UBound(User.Groups) Step 3
   User.Groups(i).Name = v_Variable(k)
  User.GRoups(i+1).Name = v_Variable(k) & "Special2"
  User.GRoups(i+2).Name = v_Variable(k) & "Special3"
  k = k +1
Next
```

Permalänk: https://www.webforum.nu/p/1498399

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/117158-omdimensionera-array-rätt
