Welcome to MSDN Blogs Sign in | Join | Help

Me encantan las extensiones de C# 3.0 y LINQ

Estaba embebiendo una búsqueda en LIVE en una aplicación y fijáos del código anterior (VS2005) al nuevo (VS2008) lo que cambia. Y hacen lo mismo:

 

Antes:

 

                             MSNSearchService s = new MSNSearchService();

                SearchRequest searchRequest = new SearchRequest();

                int arraySize = 1;

                SourceRequest[] sr = new SourceRequest[arraySize];

 

                sr[0] = new SourceRequest();

                sr[0].Source = SourceType.Web;

 

                searchRequest.Query = "live search";

                searchRequest.Requests = sr;

                searchRequest.AppID = "YOUR_APP_ID_GOES_HERE";

                searchRequest.CultureInfo = "en-US";

                SearchResponse searchResponse;

 

                searchResponse = s.Search(searchRequest);

 

                foreach (SourceResponse sourceResponse in searchResponse.Responses)

                {

                    Result[] sourceResults = sourceResponse.Results;

                    

                    WebSites[] retWebSites = new WebSites[sourceResponse.Total];

 

                    int i=0;

 

                    foreach (Result sourceResult in sourceResults)

                           retWebSites[i++] = new WebSite(sourceResult.Url);

                }

 

             return(retWebSites);

 

Y ahora:

 

                        SearchRequest liveSearchRequest = new SearchRequest();

 

             liveSearchRequest.Query = sString;

             liveSearchRequest.Requests = new SourceRequest[1]

{ new SourceRequest() { Source = SourceType.Web } };

             liveSearchRequest.AppID = "YOUR_APP_ID_GOES_HERE";

             liveSearchRequest.CultureInfo = "en-US";

            

             MSNSearchPortTypeClient liveSearch = new MSNSearchPortTypeClient();

 

             SearchResponse liveSearchResponse =

liveSearch.Search(liveSearchRequest);

 

             var p = from res in liveSearchResponse.Responses[0].Results

                    select new WebSite() { sURI = res.Url };

 

             return(p.ToArray<WebSite>());

 

He usado la inicialización en constructores para el Live.Requests y LINQ para construir el array de retorno

 

 

 

Published Friday, December 14, 2007 8:52 PM by josemurl

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Me encantan las extensiones de C# 3.0 y LINQ

Hola José,

Se que no es el lugar adecuado para pedir esto, espero que me sepas disculpar.

Estuve en el evento Microsoft Innovation Days del pasado 20 de diciembre en Barcelona (Por cierto felicidades, ya que estuvo bastante entretenido). ¿Como puedo conseguir las presentaciones del evento? ¿Puedes enviarme las presentaciones a mi dirección?  amanece-que-noespoco(sustituir por arroba ) hotmail.com  

Gracias y un saludo

Friday, January 04, 2008 3:37 AM by José Miguel

# re: Me encantan las extensiones de C# 3.0 y LINQ

Hola Jose!

Lo siento de hacerlo de esta manera, pero necesito contactarte.

Soy representante de la editorial software. Has publicado 2 articulos en la revista MS Coder, queria preguntarte algo por esos dos articulos, pero pienso que tengo tu e-mail que no foncciona mas.

Si puedes, contactame: malgorzata.ziemkiewicz@lpmagazine.org

Gracias!

Thursday, February 07, 2008 4:31 AM by Malgorzata Ziemkiewicz

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker