---
title: "Hämta en post ur en generic List"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/174012-hämta-en-post-ur-en-generic-list"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Pedda"
published: "2008-09-12T18:06:40.000Z"
updated: "2008-09-12T21:24:27.000Z"
replies: 5
views: 538
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/174012-hämta-en-post-ur-en-generic-list"
---

# Hämta en post ur en generic List

## #1 — Pedda, 2008-09-12T18:06Z

Jag har en list som jag har fyllt med data ifrån en xml fil

ZPSProjects.cs (förkortad version)

```
public class ZPSProjects
{
    #region Private Member Variables
    private string projectID;
    ...
    #endregion
    #region Constructors
    public ZPSProjects() { }
    public ZPSProjects(string projectID, ...)
    {
        this.projectID = projectID;
	...
    }
    #endregion
    #region Public Properties

    public string ProjectID
    {
        get { return projectID; }
        set { projectID = value; }
    }
	
    ...
	
}
```

 

ZPSProjectsBLL.cs

```
public class ZPSProjectsBLL
{
    public List<ZPSProjects> GetProjects()
    {
        ProjectDAL dal = new ProjectDAL();
        return dal.GetProjects();
    }
}
```

 

ZPSProjectsDAL.cs (förkortad version)

```
public class ProjectDAL
{
    public List<ZPSProjects> GetProjects()
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(ConfigurationManager.AppSettings["URLZPSList"]);

        XmlNodeList projectID = xmlDoc.GetElementsByTagName("Project_x0020_ID");
        ...
		
	List<ZPSProjects> results = new List<ZPSProjects>();

        for (int i = 0; i < projectID.Count; ++i)
        {
            ZPSProjects zpsProjects = new ZPSProjects();

            zpsProjects.ProjectID = (projectID[i] == null) ? "" : projectID[i].InnerText;
            ...
			
	    results.Add(zpsProjects);

        }
        return results;
    }
}
```

 

Hur gör jag för att bygga ut så jag kan hämta ett specifikt projekt?
Jag har projectID eller index nummret att välja på när jag ska hämta ett projekt.

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

## #2 — CatZ, 2008-09-12T19:23Z

Använd linq? 

```
var query = from r in results //din lista med ZPSProjects
		where r.ProjectID == 1 //Det du vill söka efter
		select r;
```

Sedan kan du ju returnera precis vad tusan du vill med.

```
query.ToList(); //Returnerar en liadan lista som du redan har (om du vill databinda)
```

```
query.FirstOrDefault(); //returnerar en entitet om du vill göra något specifikt med resultatet.
```

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

## #3 — Pedda, 2008-09-12T19:31Z

Tyvärr, Framework 2.0 så jag kan glömma Linq

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

## #4 — CatZ, 2008-09-12T19:49Z

Ah ok, då får du använda de inbyggda funktionerna istället :)

Du kan söka en .NET 2.0 lista genom att hämta en enumerator för listan.

```
results.GetEnumerator().Current.ProjectID
```

Resten kan du säkert **"LISTA"** ut själv ;)

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

## #5 — CatZ, 2008-09-12T19:51Z

Tja, du kan ju loopa igenom listan också 

```
			List<ZPSProjects> tmpList = new List<ZPSProjects>();

			foreach (ZPSProjects proj in results)
			{
				tmpList.Add(proj);
			}
```

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

## #6 — dAEk, 2008-09-12T21:24Z

Istället för en lista, kan du inte köra med hashtable eller vad det nu heter i .NET som motsvarar Map\<K, V\> i Java?

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/174012-hämta-en-post-ur-en-generic-list
