如何将类型var转换为类型字符串

时间:2015-12-15 04:23:04

标签: c# string type-conversion var

这是我的代码,

 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/ 作为值。我想在另一种方法中使用它。

3 个答案:

答案 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。