這是之前發佈的問題的擴展。我試圖遞歸地構建一個字符串。我需要改變下面的函數來做到這一點 - 函數的每個遞歸生成所需的字符串,但我需要將它們連接在一起並返回整個字符串。 'related'作爲一個空字符串傳遞給函數,我認爲我使用string.Format的方式會將每個遞歸添加到'related'字符串中?顯然不是。幫助遞歸併返回值
不知道如何...
private string getRelatedNews(Taxonomy taxData, string related, string contentTitle)
{
foreach (TaxonomyItemData item in taxData.TaxonomyItems)
{
if (taxData.TaxonomyName.Equals(contentTitle) && taxData.TaxonomyItemCount != 0)
{
related = string.Format("{0}<li><a href='{1}'\">{2}</a></li>", related, item.Link, item.Name);
}
}
// Show all its sub categories
foreach (TaxonomyData cat in taxData.Taxonomy)
{
getRelatedNews(cat, related, contentTitle);
}
return(related);
}
與此相關的一個問題是,您將創建大量被丟棄的字符串(增加GC壓力)。看看使用StringBuilder只建立一個字符串一次。 – Talljoe 2011-04-08 04:19:40