---
title: "Sortera en sorteddictionary"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/162309-sortera-en-sorteddictionary"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "maqe"
published: "2007-07-08T18:23:12.000Z"
updated: "2007-07-09T10:01:29.000Z"
replies: 2
views: 354
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/162309-sortera-en-sorteddictionary"
---

# Sortera en sorteddictionary

## #1 — maqe, 2007-07-08T18:23Z

Jag har en sorteddictionary som jag vill sortera men får inte riktigt till det.

Såhär ser min sorted dictionary ut

```
new SortedDictionary<string, PropertyDefinition>();
```

PropertyDefinition har en property "SortOrder" som är en int och på den skulle jag vilja sortera listan, gärna på keyn som andra val om det går? Någon som vet hur man gör detta?

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

## #2 — emission, 2007-07-08T22:30Z

SortedDictionary kan bara sortera på nyckelvärdet. Du får spola över värdena i en List\<T\> och använda Sort på den.

Dessutom måste du låta PropertyDefinition implementera IComparable

```
class PropertyDefinition : IComparable
{
  //Din klass

	public int CompareTo(object obj) {
		if(obj is PropertyDefinition) 
		{
			PropertyDefinition def = (PropertyDefinition) obj;
			int result=this.SortOrder.CompareTo(def.SortOrder);
			//Antog att nyckelvärdet även fanns på klassen, med t.ex. namnet "Id"
			if (result==0)
				return this.Id.CompareTo(def.Id);
			return result;
		}
		throw new ArgumentException("object is not a PropertyDefinition");
	}
}
```

..eller skapa en motsvarande IComparer

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

## #3 — maqe, 2007-07-09T10:01Z

Ah okay, inte konstigt att jag inte lyckades sortera på något annat än keyn då :)

Tack för hjälpen

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/162309-sortera-en-sorteddictionary
