---
title: "List<Department> Find() - bara första \"raden\" matchas?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/181584-list-department-find-bara-första-raden-matchas"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "CokeLight"
published: "2009-12-09T16:45:56.000Z"
updated: "2009-12-10T10:50:24.000Z"
replies: 2
views: 417
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/181584-list-department-find-bara-första-raden-matchas"
---

# List<Department> Find() - bara första "raden" matchas?

## #1 — CokeLight, 2009-12-09T16:45Z

Hej, 

när jag kör detta:

```
Department dept = CachedDataSource.GetDepartments(spGetDepartments).Find(p => p.DepartmentID == deptId);
```

så innehåller p alltid bara första "raden", och eftersom ingen match finns så blir ju dept null. Men i debug läge så returnerar GetDepartments(..) många rader. När jag kör .Find() så trodde jag att den loopade igenom alla rader tills en matchning sker?

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

## #2 — CokeLight, 2009-12-10T09:06Z

Förmodligen var det nog inget fel på uttrycket ovan. Jag ändrade i koden och körde en vanlig foreach, men av nån konstig anledning blir det fel där. När jag debuggar innehåller dp.DepartmentID 10, 11, 12, 13 osv, men det blir aldrig någon träff, ens när jag hårdkodar: (??) I debug står det också att "DepartmentID" är "string":

```
foreach (Department dp in CachedDataSource.GetDepartments(spGetDepartments))
{
    if(dp.DepartmentID == "12") //<-- fungerar ej
    //if (dp.DepartmentID == deptId) //<-- fungerar ej
    //if (dp.DepartmentID.Equals(deptId)) //<-- fungerar ej
    //if ("12" == deptId) // <-- fungerar
    //if("12" == "12") // <-- fungerar
    {
        dept = dp;
        break;
    }
}
```

Department är en "string" och inte "int" som borde vara det mer normala:

Department klassen:

```
public string DepartmentID
{
    get { return departmentID; }
    set { departmentID = value; }
}
```

Just nu kommer jag inte på var felet kan ligga...

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

## #3 — CokeLight, 2009-12-10T10:50Z

Det var nån som efter 5 min efter att jag frågat kom på att dp.DepartmentID = "12 " istället för "12", så det var därför det inte fungerade... :/ jobbigt.. :) 

(så nu fungerar .Find(..) som den ska också... den iterarar igenom hela listan)

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/181584-list-department-find-bara-första-raden-matchas
