Avatar billede friiiiis Novice
18. januar 2015 - 23:44 Der er 2 kommentarer og
1 løsning

Range fra Collection of Class

Hej,

Jeg har oprettet en Class

public Class DataPoint
    {
        public DateTime dateAndTime { get; set; }
        public double value { get; set; }
        public string description { get; set; }
        public string Unit { get; set; }
    }

Den opretter jeg en Liste ud fra:

List<DataPoint> lst = new List<DataPoint>();

Spørgsmål:
1) Hvordan henter jeg nu en Range af samtlige "Value" ud fra den liste? altså, alle værdier i listen af property "value" men ikke de øvrige?

2)  Hvordan henter jeg nu en Range af samtlige "Value" ud fra den liste men kun for værdier hvor dateAndTime er mindre end f.eks. 54000? Jeg er klar over at det må være LinQ men kan ikke gennemskue hvordan...
Avatar billede Syska Mester
19. januar 2015 - 00:05 #1
var range = lst.Select(x => x.Value).ToList() // eller ToArray(), return er normalt en IEnumerable

Hvad er 54000? Vi snakker her om en DateTime ..

var range = lst.Where(x => x.dataAndTime <= DateTime.Now.AddDays(-10)).ToList();

Overstående går 10 dage tilbage og tager alle dem.

mvh
Avatar billede friiiiis Novice
19. januar 2015 - 00:12 #2
fandt ellers lige selv ud af det; jeg bruger

lst.Select(x => x.value).ToArray()

Smid et svar Buzzz ;-)

PS: De 54000 er fra double repræsentationen af dato+tid = 4 november 2047
Avatar billede Syska Mester
19. januar 2015 - 01:30 #3
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester