LINQ/Cast/Array/Take: Caste fra IENumerable til Array II
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