1

由于我在使用以下类时使用的是 asp.net2.0,因此出现以下错误。

Error 1 : The type or namespace name 'var' could not be found (are you missing a using directive or an assembly reference?)

我用过的类。如何在 asp.net2.0 中使用此代码而不会出现任何错误

public static XElement GetGeocodingSearchResults(string address)
{
    // Use the Google Geocoding service to get information about the user-entered address
    // See http://code.google.com/apis/maps/documentation/geocoding/index.html for more info...
    var url = String.Format("http://maps.google.com/maps/api/geocode/xml?  
    address={0}&sensor=false", HttpContext.Current.Server.UrlEncode(address));

    // Load the XML into an XElement object (whee, LINQ to XML!)
    var results = XElement.Load(url);

    // Check the status
    var status =results.Element ("status").Value;
    if (status != "OK" && status != "ZERO_RESULTS")
        // Whoops, something else was wrong with the request...
        throw new ApplicationException("There was an error with Google's Geocoding Service: " + status);

    return results;
}
4

1 回答 1

1

var只是右侧表达式实际类型的快捷方式。

public static XElement GetGeocodingSearchResults(string address)
{
    // Use the Google Geocoding service to get information about the user-entered address
    // See http://code.google.com/apis/maps/documentation/geocoding/index.html for more info...
    string url = String.Format("http://maps.google.com/maps/api/geocode/xml?address={0}&sensor=false",
       HttpContext.Current.Server.UrlEncode(address));

    // Load the XML into an XElement object (whee, LINQ to XML!)
    XElement results = XElement.Load(url);

    // Check the status
    string status =results.Element ("status").Value;
    if (status != "OK" && status != "ZERO_RESULTS")
        // Whoops, something else was wrong with the request...
        throw new ApplicationException("There was an error with Google's Geocoding Service: " + status);

    return results;
}

但是 LINQ to XML(和整个LINQ功能)仅在 .NET 3.5 及更高版本中可用。您应该升级到 .NET 3.5 或切换到 System.Xml

于 2013-04-02T05:39:15.927 回答