这是我的代码,
var getURL = tc.provideCreden("location/", "42.3", "-71.06");
这会给出var
值。我想将其转换为string
以与我的另一种方法一起使用。
这意味着,
var getReviews = getRe("this is a string");
我想将getURL
值用作此字符串。我怎么能这样做?
这是我的第一个方法 provideCreden()
public dynamic provideCreden(string subUrl, string Latitude, string Longitude)
{
string fullURl = BaseUrl + subUrl + apiKey;
WebClient tripClient = new WebClient();
var finalResult = tripClient.DownloadString(fullURl);
RootObject obj = JsonConvert.DeserializeObject<RootObject>(finalResult);
var final = obj.Data
.Where(s => s.latitude == Latitude && s.longitude == Longitude)
.Select(n => n.Apidetailurl);
return final;
}
此方法返回 http://api.somevalue.com/api/partner/2.0/localized/ 。然后当我使用ToString()转换它时,它给出 System.Linq.Enumerable + WhereSelectListIterator`2 [some.Item,System.String]
所以我希望将此 http://api.somevalue.com/api/partner/2.0/localized/ 作为值。我想在另一种方法中使用它。
答案 0 :(得分:0)
您可以使用Convert.ToString(getURL);
。如果您的("location/", "42.3", "-71.06")
代码段返回null
,这也会处理。
答案 1 :(得分:0)
首先将var
更改为dynamic
,然后使用神奇的Object.ToString方法。
dynamic getURL = tc.provideCreden("location/", "42.3", "-71.06");
var getReviews = getRe(getURL.ToString());
答案 2 :(得分:0)
您的方法返回IEnumerable<TResult>
,我怀疑类型为String的TResult。
但是,您的返回类型的类型为dynamic
,因此最好将动态更改为返回的类型,例如public IEnumerable<String> provideCreden(string subUrl, string Latitude, string Longitude)
。然后你可以这样做:
var getURL = tc.provideCreden("location/", "42.3", "-71.06").FirstOrDefault();
//check the getURL. If of type String no conversion needed.
var getReviews = getRe(getURL);
//If not try
var getReviews = getRe(getURL.ToString());
我希望这会有所帮助。 BTW会检查getURL是否为null。