【发布时间】:2012-08-08 12:13:51
【问题描述】:
我使用的是 .NET 2.0,需要在这里实现 VAR 数据类型:
var doc = XDocument.Parse(result);
var sw = doc.Descendants("viewport").Elements("southwest").SingleOrDefault();
if (sw != null)
{
var lat = (double)sw.Element("lat");
var lng = (double)sw.Element("lng");
// do stuff
}
我改用了 STRING
public string getLatLang(string address)
{
string latlang = "";
string url = "http://maps.googleapis.com/maps/api/geocode/xml?address=" + address + "&sensor=false";
System.Net.WebClient client = new System.Net.WebClient();
string result = client.DownloadString(url);
string doc = System.Xml.Linq.XDocument.Parse(result).ToString();
string sw = doc.Descendants("viewport").Elements("southwest").SingleOrDefault();
if (sw != null)
{
string lat = (double)sw.Element("lat");
string lng = (double)sw.Element("lng");
latlang = lat + "," + lang;
// do stuff
}
return latlang;
}
但我得到一个错误:
“字符串”不包含“后代”的定义
请帮我在这里替换VAR。
【问题讨论】:
-
var本身不是数据类型,而是表示编译器推断的类型。并非所有var变量都具有相同的类型。从顶部开始,一直到底部找出每种类型。 -
我试图在后面的 C# 代码中使用谷歌地图获取纬度和经度,这行给我带来了问题:string sw = doc.Descendants("viewport").Elements("southwest").SingleOrDefault ();你们能帮我吗?我了解并非所有 var 变量都具有相同的类型,但 wat 是 .NET 2.0 的可能解决方案
-
另外,如果你有 Resharper,你可以这样做:stackoverflow.com/questions/289743/…
标签: linq google-maps var