---
title: "Få fram value ur HashTable"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/86977-få-fram-value-ur-hashtable"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "icaaq"
published: "2003-09-25T21:26:56.000Z"
updated: "2003-09-27T16:26:51.000Z"
replies: 4
views: 261
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/86977-få-fram-value-ur-hashtable"
---

# Få fram value ur HashTable

## #1 — icaaq, 2003-09-25T21:26Z

Jag skulle vilja få ut ett speciellt value från en hashtable typ så här

```
[red]
int värde = ht[index][värde]
[/red]
```

men detta funkar ju inte .......hur ska jag få fram värdet från detta index?

Mvh icaaq

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

## #2 — PatrikB, 2003-09-26T06:38Z

Om du kikar i SDK'n så ser du att man lägger till med:

```
ht.Add("Key", "Value")
```

För att få fram Value:

```
int värde = ht.Item("Key")
```

cya,
/PatrikB

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

## #3 — icaaq, 2003-09-26T17:52Z

Jag får inte din kod att fungera....nu har jag

```
[red]
public void BoundData(object sender, DataGridItemEventArgs e)
		{
			Tabell t = new Tabell();
			Hashtable ht = t.Rule(Convert.ToInt32(HttpContext.Current.Request.QueryString["id"]));
			switch(e.Item.ItemType)
			{
				case ListItemType.Item:
				case ListItemType.AlternatingItem:
					if(ht.ContainsKey(Convert.ToString((e.Item.ItemIndex + 1))))
					{
						[b]if(Convert.ToInt16(ht[(e.Item.ItemIndex + 1)]) == 0)[/b]
						{							
							e.Item.Cells[0].Attributes.Add("style", "border-bottom: solid 1px #000;");
						}
						else
						{
							e.Item.Cells[0].Attributes.Add("style", "border-bottom: dotted 1px #000;");
						}

					}
[/red]
```

typ.....men hur ska jag få den fram värdet ur hashtablen där hashtablensindex är lika med e.Item.ItemIndex

Mvh icaaq

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

## #4 — Gladh, 2003-09-27T15:39Z

Det finns inget INDEX på en hashtable. Alltså kan man inte skriva HashTable\[1\] eftersom det inte är säkert att det som du tror finns på position 1 finns där.

Det hela beror på att man inte lagrar datan som man spara i en långlista, utan istället sorterar in datan som kommer in med hjälp av nycklen.

Så om du vill lagra ett objekt som innehåller information om en person. Så kanske man tycker att personnummer är en jättebra nyckelt. Då lagrar man objectet i en hashtabel och använder personenummret som nyckel.

```
myHashTable.Add(oPerson.Personnummer, oPerson);
```

Den information kommer du bara åt om du använder dig av din nyckel. Du skulle ju kunna använda indexet som en nyckel. Alltså e.Item.ItemIndex är nyckle i din HashTable. Du kan även göra om din HashTable till en Array, men som sagt innan. Det betyder inte att första posten i Arrayn är den första posten du lagt in.

\- M

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

## #5 — icaaq, 2003-09-27T16:26Z

ok....tack för ditt svar det gjorde det hela lite klarare....och jag löste detta problem på ett annat sätt med en Sql fråga på varje item istället

Mvh icaaq

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/86977-få-fram-value-ur-hashtable
