LINQ/Cast/Array/Take: Caste fra IENumerable til Array II

No comments

For å f.eks konvertere et LINQ-resultatsett til en array:

 

CASTE til ARRAY

 

[WebMethod(Description="Metode for bruk av Ajax autocompleteExtension")]

public string[] FinnRadgivere(string prefixText)

{

            var rslt=SokRadgiver(prefixText); //returnerer f.eks en liste med radgiverentiteter

 

            var q = from radgiver in rslt

                    select new

                    {

                        radgiver.Navn

                    };

            return q.Cast<string>().ToArray();

}

 

enklere variant:

 

[WebMethod(Description="Metode for bruk av Ajax autocompleteExtension")]

        public string[] FinnRadgivere(string prefixText)

        {

 

            var rslt=SokRadgiver(prefixText);

 

            var q = from radgiver in rslt

                        select radgiver.Navn;

              

            return q.ToArray();

 

        }

 

 

annen variant som gjør tilsvarende:

 

 

   HendelseInformasjonEntitet[] q = HendelseTjeneste.HentHendelseInformasjonListe(param, out melding);

 

            var w = from h in q

                    select new HendelseInformasjonRadgiverEntitet()

                    {

                        Beskrivelse = h.Beskrivelse,

                        EksternHendelseID = h.EksternHendelseID,

                        HendelseBestiller = h.HendelseBestiller,

                        HendelseDato = h.HendelseDato,

                        HendelseEier = h.HendelseEier,

                        HendelseEierNavn = HentRådgiver(h.HendelseEier, h.HendelseEier),

                        HendelseInformasjonID = h.HendelseInformasjonID,

                        HendelsetypeID = h.HendelsetypeID,

                        Status = h.Status,

                        Viderefordeling = h.Viderefordeling

                    };

 

            return w.Cast<HendelseInformasjonRadgiverEntitet>().ToArray();

 

 

 

 

LINQ TAKE

Returner X antall poster vha Take:

 

[WebMethod(Description="Metode for bruk av Ajax autocompleteExtension")]

        public string[] FinnRadgivere(string prefixText, int count)

        {

 

            var rslt=SokRadgiver(prefixText);

 

            var q = from radgiver in rslt.Take(count)

                                       select radgiver.Navn;

              

            return q.ToArray();

 

        }

 

 

Posted by email from Henris blogg (posterous)

No comments :

Post a Comment