取消存储在集合中的字符串

时间:2015-08-04 09:29:06

标签: c#

我有一组字符串,其中包含一些转义字符。在我可以使用它之前,我需要取消字符串的集合。不幸的是,HttpUtility.HtmlDecode似乎不适用于传递给下面方法的集合。奇怪的是,我创建一个单独的控制台应用程序来测试它确实有效。有任何想法吗?

private void UpdateTaxonomyTerms(TaxonomywebserviceSoapClient taxWebService, string termStoreId, string termSetId, List<string> TermsList)
{
    string TermsXML = GetTermSet(taxWebService, termStoreId, termSetId);

    XDocument xDoc = XDocument.Parse(TermsXML);

    for (int i = 0; i < TermsList.Count; i++) {
        string UnescapedTermToFind = HttpUtility.HtmlDecode(TermsList[i].ToString());

        Console.WriteLine(UnescapedTermToFind);

        string TermGuid = FindTerm(xDoc, UnescapedTermToFind);
        TermsList[i] = string.Concat(UnescapedTermToFind, "|", TermGuid);
    }
}

1 个答案:

答案 0 :(得分:0)

你可以用一行代替

string result = string.Join("|",
        TermsList.Select (term => 
            FindTerm(xDoc, System.Web.HttpUtility.HtmlDecode(term))));  

但是,它只是语法糖,坦率地说,你的循环可能同样容易阅读。