确定现在我有含3名的字符串,setter和getter沿对象。现在,我有两个问题 -

首先,我是新来的C#有什么办法来优化下面的方法,让他们更有效率?

    void getSearchResults(object sender, RoutedEventArgs e)
    {
        string baseURL = "http://api.search.live.net/xml.aspx?Appid=<MyAPPID>&query=%22";
        string companyName = ((TaxiCompany)sender).CoName;
        string formatAndKey = "%22&sources=web";
        WebClient c = new WebClient();
        c.DownloadStringAsync(new Uri(baseURL + companyName + formatAndKey));
        c.DownloadStringCompleted += new DownloadStringCompletedEventHandler(findTotalResults);
    }


    //Parses search XML result to find number of results
    void findTotalResults(object sender, DownloadStringCompletedEventArgs e)
    {
        lock (this)
        {
            string s = e.Result;
            XmlReader reader = XmlReader.Create(new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(s)));
            String results = "";
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.Name.Equals("web:Total"))
                    {
                        results = reader.ReadInnerXml();
                        break;
                    }

                }
            }
        }
    }

二,我初始化的对象 - 新出租汽车公司(字符串名称,电话字符串,字符串结果)。我有姓名和电话号码,我需要调用上述两个函数来获取noOfResults这样我就可以初始化对象。但是,我似乎碰上了一堆与事件处理程序的问题。

我主要是一个Web开发,所以可能会有一些真正的基础,我在这里失踪。我有一种感觉,设置了冰方法返回一个字符串返回给构造可能是最简单的日,但不太清楚如何。

有帮助吗?

解决方案

首先,你不需要在主页上的锁。然后,我会说,你的XmlReader块应该叫的的XDocument 时,这将允许您使用一个单一的,优雅的线访问XML文档:

XDocument doc = XDocument.Parse(e.Result);

一旦你的文档,你可以检查它是否包含特定的 XNode

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top